我正在使用带有节标题的listview,如本例所示。
http://eshyu.wordpress.com/2010/08/15/cursoradapter-with-alphabet-indexed-section-headers/
问题是如果我删除或添加项目,这些部分都是错误的。这些部分似乎是在Adapter的构造函数中设置的,因此似乎无法在不创建新适配器的情况下刷新这些部分。有没有办法在不创建新适配器的情况下正确地重新创建节标题
由于
答案 0 :(得分:1)
您不必创建新的适配器来更新ListView的内容。只需将您的适配器存储在一个字段中,并使用以下代码更新您的列表:
mAdapter.setList(yourNewList);
mAdapter.notifyDataSetChanged();
为了澄清这一点,您的活动应该是这样的:
private YourAdapter mAdapter;
protected void onCreate(...) {
...
mAdapter = new YourAdapter(this);
setListAdapter(mAdapter);
updateData();
}
private void updateData() {
List<Data> newData = getYourNewData();
mAdapter.setList(yourNewList);
mAdapter.notifyDataSetChanged();
}