我的应用有一个ListActivity,让用户从listFiles()生成的列表中选择一个文件。
File f=null;
File[] files = null;
f= new File(BOOKPATH);
files = f.listFiles();
item = new ArrayList<String>();
for(int i=files.length-1; i >= 0; i--){
File file = files[i];
item.add(file.getName());
}
效果很好,当用户点击某个条目时,会启动一个活动,然后用户就可以编辑该文件。 当用户退出编辑活动时,编辑的内容将保存在具有新名称的新文件中,并删除第一个选定的文件。
然后在第一个Activity的onResume()上再次调用获取新文件列表的相同代码。
代码执行得很好,但函数listFiles()返回古代列表,就像缓冲区没有刷新一样。
奇怪的是,当我在Android设备上更改方向时,会返回正确的文件列表,并再次调用onResume()。
我还尝试通过不同的方式重新启动活动以获得相同的行为,但没有成功。
提前感谢您的帮助。
答案 0 :(得分:0)
尝试notifyDataSetChanged()
重新加载列表。