如本例所示,我正在使用带有节标题的列表视图。
http://eshyu.wordpress.com/2010/08/15/cursoradapter-with-alphabet-indexed-section-headers/
问题是如果我删除或添加一个项目,这些部分都是错误的。这些部分似乎是在适配器的构造函数中设置的,因此似乎没有办法在不创建新适配器的情况下刷新这些部分。有没有办法在不创建新适配器的情况下正确地重新创建节标题
谢谢
如本例所示,我正在使用带有节标题的列表视图。
http://eshyu.wordpress.com/2010/08/15/cursoradapter-with-alphabet-indexed-section-headers/
问题是如果我删除或添加一个项目,这些部分都是错误的。这些部分似乎是在适配器的构造函数中设置的,因此似乎没有办法在不创建新适配器的情况下刷新这些部分。有没有办法在不创建新适配器的情况下正确地重新创建节标题
谢谢
您不必创建新适配器来更新 ListView 的内容。只需将您的适配器存储在一个字段中并使用以下代码更新您的列表:
mAdapter.setList(yourNewList);
mAdapter.notifyDataSetChanged();
为了澄清这一点,您的 Activity 应如下所示:
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();
}