[英]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.