我的应用程序中有一个联系人列表(listview),单击列表中的名称会显示该人员的图像,地址以及包含该人员编号的呼叫按钮。
我在根据项ID显示图像时遇到问题。我在sd卡上存储图像的文件夹中有一个默认图像,如果任何项目没有图像,那么应该在那里显示默认图像。
我使用了if-else语句。问题是,if部分在没有else部分的情况下几乎正常工作,除了没有图像的项目访问其他项目的图像。但是当使用else部分时,每个项目只显示默认图像。
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// accessing files from sd card
File file = new File(Environment.getExternalStorageDirectory() +"/Frag_list/");
if (file.isDirectory()) {
listFile = file.listFiles();
if(listFile.length!=0) {
for (File listOfFile : listFile) {
String s = listOfFile.getName();
if (s.equals(position+".jpg")&& !s.endsWith(".png")) {
// showing the desired image:CONFUSION IS HERE
pic = listOfFile.getPath();//retrieving file path
}
else {
pic =Environment.getExternalStorageDirectory() +"/Frag_list/default.png";
// Working also for the IF part
}
}
}
}
else
file.mkdir();