Android 自定义游标适配器无法在视图中正常工作
我正在处理listview。我使用了自定义光标适配器,其中newbind和bindview被viewholder覆盖。 每当第一次打开listview时,调用newbind,然后为每一行调用bindview。并显示该列表。 在listview上,数据发生更改时,listview应使用新行进行更新。我的问题是: 将新行更新到现有listview时,是否只调用bindview?或者先调用newbind,然后调用bindview 在我的例子中,只调用bindview,它使用以前的holder实例并更新相同的实例 当使用自定义SimpleCorsOrAdaptor with holder更新listview时,默认行为是什么 试试这个Android 自定义游标适配器无法在视图中正常工作,android,listview,simplecursoradapter,Android,Listview,Simplecursoradapter,我正在处理listview。我使用了自定义光标适配器,其中newbind和bindview被viewholder覆盖。 每当第一次打开listview时,调用newbind,然后为每一行调用bindview。并显示该列表。 在listview上,数据发生更改时,listview应使用新行进行更新。我的问题是: 将新行更新到现有listview时,是否只调用bindview?或者先调用newbind,然后调用bindview 在我的例子中,只调用bindview,它使用以前的holder实例并更新
adapter.notifyDataSetChanged();
使用
在设置适配器之前,请执行以下操作:
adapter.notifyDataSetChanged();
listview.setAdapter(adapter);
这些方法解决了不正确显示的问题我需要在哪里写这篇文章。在活动中,我在onLoadFinished和OnLoaderResety中有adapter.swapcursor,您必须重新查询,然后通知DatasetChanged.ok将尝试此操作。你们能帮我解决问题和行为吗?因为我是android新手。当然,请发布这个问题。如果你有,我已经在链接中发布了一个问题。你提到的解决方案会在链接中起作用吗?
adapter.notifyDataSetChanged();
listview.setAdapter(adapter);
@Override
public int getItemViewType(int position) {
Cursor cursor = (Cursor) getItem(position);
return getItemViewType(cursor);
}
@Override
public int getViewTypeCount() {
return 2;
}