Прежде всего, я предлагаю вам использовать элемент управления CheckedTextView вместо CheckBox & TextView. CheckedTextView служит комбинацией флажка и просмотра текста и прост в обращении и реализации.
Во-вторых, у вас должен быть ArrayList логического значения точного размера, поскольку ListView нет. предметов. Затем вы можете установить элементы ArrayList соответствующим образом в функции OnListItemClick в ListView. В любое время и в любом месте вашего кода вы можете получить ссылку на ваш выбор ListView. Это просто и эффективно.
Вот пример кода OnListItemClick:
@Override
protected void onListItemClick(ListView l, View v, int position, long id)
{
arrCheckBox.set(position, !arrCheckBox.get(position));
CheckedTextView ctvListItem = (CheckedTextView)v.findViewById(R.id.ctvCustomLVRowID);
ctvListItem.setChecked(arrCheckBox.get(position));
}
Здесь arrCheckBox - логический ArrayList, который хранит записи о нашем выборе, а размер этого массива такой же, как и у no. ListItems. Я надеюсь, что теперь вы можете понять это.