0

この例のように、セクションヘッダー付きのリストビューを使用しています。

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

問題は、アイテムを削除または追加すると、セクションがすべて間違っていることです。セクションはアダプタのコンストラクタで設定されているように見えるため、新しいアダプタを作成せずにセクションを更新する方法はないようです。新しいアダプタを作成せずにセクションヘッダーを正しく再作成する方法はありますか?

ありがとう

4

1 に答える 1

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();
}
于 2012-05-19T16:20:59.783 に答える