我正在使用listview。我使用了newbind的自定义游标适配器和使用viewholder重写的bindview。 每当第一次调用newbind时打开listview,然后每行调用bindview。并显示列表。 在列表视图上,数据发生更改时,应使用新行更新列表视图。我的问题是:
在将新行更新到现有列表视图时,只调用bindview?首先调用newbind然后调用bindview?
在我的情况下,只调用bindview并使用之前的holder实例并更新它。
使用带有holder的自定义simplecursoradaptor更新listview时的默认行为。
答案 0 :(得分:0)
试试这个
adapter.notifyDataSetChanged();
答案 1 :(得分:0)
adapter.notifyDataSetChanged();
在设置适配器之前:
adapter.notifyDataSetChanged();
listview.setAdapter(adapter);
答案 2 :(得分:0)
@Override
public int getItemViewType(int position) {
Cursor cursor = (Cursor) getItem(position);
return getItemViewType(cursor);
}
@Override
public int getViewTypeCount() {
return 2;
}
这些方法解决了显示不当的问题