0

如本例所示,我正在使用带有节标题的列表视图。

http://eshyu.wordpress.com/2010/08/15/cursoradapter-with-alphabet-indexed-section-headers/

问题是如果我删除或添加一个项目,这些部分都是错误的。这些部分似乎是在适配器的构造函数中设置的,因此似乎没有办法在不创建新适配器的情况下刷新这些部分。有没有办法在不创建新适配器的情况下正确地重新创建节标题

谢谢

4

1 回答 1

1

您不必创建新适配器来更新 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();
}
于 2012-05-19T16:20:59.783 回答