我的应用程序有一个 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时,编辑后的内容会被保存在一个新文件中,并以新的名字命名,并删除第一个选中的文件。
然后在第一个 Activity 的 onResume() 上再次调用获取新文件列表的相同代码。
代码执行得很好,但函数 listFiles() 返回古老的列表,就像没有刷新缓冲区一样。
奇怪的是,当我在 android 设备上更改方向时,会返回正确的文件列表,并再次调用 onResume()。
我还尝试通过不同的方式重新启动活动以获得相同的行为,但没有成功。
提前感谢您的帮助。