カスタムListViewレイアウトでチェックボックスをオンにしますか?
-
11-12-2019 - |
質問
この同じトピックについて他のスレッドのトンがあることを知っていますが、それらのどれも私のシナリオと仕事をしていないようです、そして私は彼らのコードを使って仕事をすることができませんでした。基本的に、私はSimpleCursorAdapterを使用してListViewをデータベースからのアイテムに移入します。各ListView行は、チェックボックスと単純なテキストの行で構成されるカスタムレイアウトを使用します。チェックボックスをクリックするにはどうすればいいですか?私は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はカスタムListViewレイアウトファイルです。このファイルからチェックボックスをキャプチャして、クリックリスナーを設定するにはどうすればよいですか。あなたのすべての助けをありがとう!
解決
アイテムをクリックするとチェックボックスをチェックしたい場合は、onItemClickメソッドでチェックボックスのチェックステータスを設定することで実行できます。
@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でフォーカス可能なTRUEを設定します。 //カスタムリストビューアイテムの項目。現在のビューフォーカスを取ります。
<Checkbox>
android:focusable="true"
</Checkbox>
. 所属していません StackOverflow