0

私は次のものを使用してListViewいます:

  1. リスト項目クリック
  2. CheckBoxクリック

を使用してcursorPositionを保存できview.setTag(cursor.getPosition())、チェックされたアイテムに対して必要なアクションを実行できますが、下にスクロールすると、他のいくつかのCheckBoxesチェックされたアイテムが表示されます(ビジュアルのみ)。回避策として、ビューの説明を設定し、CheckedBoxビュー ID をリストに保存CheckBoxしてから、チェック済みとして表示する必要があるかどうかを確認することを繰り返しました。しかし、下にスクロールするとビューが再利用されているように見えます(同じビューID)。

実際のチェック済みのみを表示するにはどうすればよいCheckBoxesですか? コード:

public class MyViewBinder implements ViewBinder {
 public boolean setViewValue(View view, final Cursor cursor, int columnIndex) {
        int viewId = view.getId();
        switch (viewId) {
            case R.id.checkbox:
            view.setTag(cursor.getPosition());
            return true;

            case R.id.....
            .......
        }

使用されます:

mySimpleCursorAdapter.setViewBinder(myViewBinder);

4

1 に答える 1

0

ViewBinder インターフェイスの経験はあまりありませんがsetChoiceMode()、リストビュー ( API リファレンス) での使用を検討しましたか? Androidがチェックボックスを追加するように、 CHOICE_MODE_MULTIPLEに設定できます。このようにチェックされた項目を維持することについて心配する必要はありません。

API デモの例

于 2011-09-23T21:02:32.783 に答える