Обнаружение Нажмите на флажок в пользовательском языке 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 fistview.Как я зафиксирую флажок из этого файла и настроить его listener?Спасибо за всю вашу помощь!
Решение
Если вы хотите проверить флажок, когда щелкнутся элемент, вы можете сделать это, установив флажок «Состояние флажка» в методе 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. // В вашем пользовательском списке просмотр элемента.Требуется текущий фокус просмотра.
<Checkbox>
android:focusable="true"
</Checkbox>
.