我的应用程序有问题。我把CursorLoader和CursorAdapter联系在一起。除了一个条件:当我在ListView上有一些项目,并且我将适配器中的游标替换为空的游标时,可见的项目不会被删除(只有行之间的分隔符消失)。当我触摸ListView时,它会立即消失。
情况是这样的。我有一些非空的游标:

然后我用游标替换没有结果的游标:

如你所见,只有分隔符消失了。触摸屏幕后,两个项目都会消失。
下面是我的交换光标的函数:
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor)
{
    ratesAdapter.swapCursor(cursor);
}片段来源:http://pastebin.com/N2YGzgRj
请帮我解决这个问题。
发布于 2012-10-20 18:35:39
好的,在进一步研究了这个问题之后,我发现这个问题只适用于Android 4.0.x。这个bug在2.2,2.3或4.1中不存在,只有4.0。解决这个错误的唯一方法是添加到onLoadFinished()
getListView().setVisibility(View.GONE);
getListView().setVisibility(View.VISIBLE);我不觉得这是一种优雅的方式,但也许你会有一些想法。
发布于 2012-10-19 05:14:10
不包括notifyDataSetChanged();通常是导致这些listView不刷新问题的原因。在我得到更多信息之前,我只能建议你在加载代码后尝试把它包含进来。
https://stackoverflow.com/questions/12962049
复制相似问题