0

この同じトピックについて他にもたくさんのスレッドがあることは知っていますが、どれも私のシナリオでは機能しないようで、リストビューをそれらのコードで機能させることができませんでした。基本的に、SimpleCursorAdapter を使用して、リストビューにデータベースの項目を設定しています。リストビューの各行は、チェックボックスと単純なテキスト行で構成されるカスタム レイアウトを使用します。チェックボックスのクリックを検出するにはどうすればよいですか? OnItemClickListener を使用する必要があることはわかっていますが、それをコードに組み込む方法がわかりません。これが私のコードです:

remindersCursorAdapter = new SimpleCursorAdapter(this,
                         R.xml.view_reminders_item_layout,
                         remindersCursor, new String [] { RemindersDAO.NAME },
                         new int[] { R.id.view_reminders_item_text } );

viewRemindersListView.setAdapter(remindersCursorAdapter);

R.xml.view_reminders_item_layout は、カスタム リストビュー レイアウト ファイルです。このファイルからチェックボックスを取得し、クリック リスナーを設定するにはどうすればよいですか? ご助力いただきありがとうございます!

4

1 に答える 1

0

アイテムがクリックされたときにチェックボックスをオンにしたい場合は、 onItemClick メソッドで Checkbox のチェック済みステータスを設定することで実行できます。

  @Override
  public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {

       // now get the checkbox view. Then set the checked status.
        CheckBox checkbox = (CheckBox) view.findViewById(R.id.check_box);
        checkBox.setChecked(!checkbox.isChecked());
  }

チェックボックスのみのクリックを検出する場合は、xml で focusable を true に設定します。// カスタム リスト ビュー アイテム内。現在のビュー フォーカスを取得します。

      <Checkbox>
          android:focusable="true"
      </Checkbox>
于 2012-09-29T22:25:03.203 に答える