我有一些代码,应该允许用户删除一个文件夹(它做),那么它应该从'最近的文件夹'列表中删除 - 但事实并非如此。该文件夹即使在用户删除后仍会保留在“最近的文件夹”列表中 - 这是不希望的。无法刷新列表没有方向更改 - 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