[英]String array initialization using for loop
我有一個 listView,它顯示 android 應用程序中最近的文件列表。 在這里,我有一個文件數組“fileList[]”及其長度 sizeOfFiles。 我將文件名分配給字符串數組“file_names”,然后將此字符串放入 ArrayAdapter 以在 listView 中使用。 有沒有辦法使用for循環為字符串賦值? 我嘗試使用 for 循環,但我的應用程序停止工作。 所以我使用了多個 else if 語句。
String file_names[]= null;
if (sizeOfFiles < 1) {
file_names = new String[]{"No recent files.\nTouch New to add files."};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.file_list, file_names);
listView.setAdapter(adapter);
}
else if (sizeOfFiles == 1) {
file_names = new String[]{filesList[sizeOfFiles - 1].getName()};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.file_list, file_names);
listView.setAdapter(adapter);
}
else if (sizeOfFiles == 2) {
file_names = new String[]{filesList[sizeOfFiles - 1].getName(), filesList[sizeOfFiles - 2].getName()};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.file_list, file_names);
listView.setAdapter(adapter);
}
據我了解,您正在尋找類似的東西:
String file_names[]= new String[(int)Math.max(sizeOfFiles,1)];
if (sizeOfFiles < 1) {
file_names[0] = "No recent files.\nTouch New to add files.";
} else {
for(int i=sizeOfFiles-1;i>=0;i--){
file_names[(sizeOfFiles-1)-i] = filesList[i].getName();
}
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.file_list, file_names);
listView.setAdapter(adapter);
我希望它有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.