我有一些代碼,應該允許用戶刪除一個文件夾(它做),那麼它應該從'最近的文件夾'列表中刪除 - 但事實並非如此。該文件夾即使在用戶刪除後仍會保留在「最近的文件夾」列表中 - 這是不希望的。無法刷新列表沒有方向更改 - Android/Java
/**
* Add recent folders to the list in order as acquired by the {@link RecentFolderList}.
*
* @param destination List of drawer items to populate
*/
private void addRecentsToList(List<DrawerItem> destination) {
// If there are recent folders, add them.
final List<Folder> recentFolderList = getRecentFolders(mRecentFolders);
// Remove any excluded folder types
if (mExcludedFolderTypes != null) {
final Iterator<Folder> iterator = recentFolderList.iterator();
while (iterator.hasNext()) {
if (isFolderTypeExcluded(iterator.next())) {
iterator.remove();
}
}
}
if (recentFolderList.size() > 0) {
destination.add(DrawerItem.ofHeader(mActivity, R.string.recent_folders_heading,
mBidiFormatter));
// Recent folders are not queried for position.
for (Folder f : recentFolderList) {
destination.add(DrawerItem.ofFolder(mActivity, f, DrawerItem.FOLDER_RECENT,
mBidiFormatter));
}
}
}
奇怪的部份是,如果我執行的方向變化 - 文件夾從「最近的文件夾列表」移除所需 - 而我不能確定爲什麼這可能發生的。
我有一種感覺,列表可能只需要刷新(文件夾被刪除後),但我不確定。
任何建議,線索或指針,不勝感激。
全部來源:
附:
適配器上調用notifyDataSetChanged()(由下面的答案之一的建議 - 和任何人檢舉這個重複的 - 似乎沒有產生任何影響)上ListView
[如何刷新Android列表視圖?](http://stackoverflow.com/questions/2250770/how-to-refresh-android-listview) – 2014-11-21 17:25:07
這不是重複 - 我們已經嘗試notifyDatasetChanged和它不工作...(請參閱下面的答案/評論)還有其他事情在這裏 – 2014-11-21 18:04:26
注意刪除那個重複的標誌?文章中顯示的修復程序不起作用(notifyDataSetChanged不能解決問題) – 2014-11-21 18:19:58