0

ListViewを使用して、データベースのすべてのレコードを表示しています。リストの各行には、追加のチェックボックスがあります。押すとチェックしたレコードをすべて削除するボタンを作りたいです。ただし、リストを反復処理し、getChildAt(index)を使用して行への参照を取得しようとすると、残りのエントリが非表示になり、アプリケーションではスクロールバーを使用する必要があるため、最初のエントリは3つしか到達できません。 。

そのようなものがうまく機能したことをどのように彼らに伝えることができますか?

for( int i = 0; i < taskList.size(); i++ ){
   View row = list.getChildAt(i);
   CheckBox checkBox = (CheckBox)row.findViewById(R.id.checkbox)
}
4

1 に答える 1

2

ビューを反復処理する代わりに、アダプターをサポートしているデータに、チェックされた状態を追跡するフィールド/変数を含めます。次に、コレクションを繰り返し処理して、チェックされているコレクションをすべて削除します。次にnotifydatasetchanged

于 2012-07-27T14:36:00.017 に答える