2010-12-05 3 views
1

У моего приложения есть ListActivity, чтобы пользователь мог выбрать файл из списка, сгенерированного listFiles().Android 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()); 
    } 

Он хорошо работает, и когда пользователь нажимает на запись, деятельность запускается, то пользователь может редактировать файл. Когда пользователь завершает действие редактирования, отредактированный контент сохраняется в новом файле с новым именем и удаляется первый выбранный файл.

Затем тот же код для получения нового списка файлов вызывается снова в onResume() первого действия.

Код хорошо выполнен, но функция listFiles() возвращает древний список, например, если буфер не обновлялся.

Странно, что верный список файлов возвращается при изменении ориентации на устройстве Android, а onResume() вызывается снова.

Я также попытался перезапустить действие различными способами, чтобы получить такое же поведение, без каких-либо успехов.

Заранее благодарим за помощь.

ответ

0

Попробуйте notifyDataSetChanged(), чтобы перезагрузить этот список.

+1

Извините, проблема в том, когда вызывается «files = f.listFiles()», возвращаемый массив неверен. Я считаю, notifyDataSetChanged() используется для отображения адаптера для представления. Пожалуйста, извините меня, если я неправильно понимаю, спасибо. – Mokauno 2010-12-05 18:02:54

Смежные вопросы