У меня есть ListView
с CheckBox
и TextView
. Я пытаюсь найти CheckBox
используя индекс. В моем текущем testcenario у меня есть 16 предметов в ListView
. Следующий код работает до индекса 5 и после этого дает IllegalStateException
. Почему это происходит? Как я могу получить CheckBox
всех индексов? Я считаю, что это как-то связано с Layout
, представляющим только видимые строки. Но даже когда я прокручиваю вниз, индекс 0 работает, а индексы больше 5 нет. ListView
- это частный атрибут внутри класса. Код:Почему ListView getChildAt работает только до определенного индекса?
public void inform(View v) {
TextView tv;
CheckBox cb;
String s = "";
int nrItems = lv.getCount();
LinearLayout layout = (LinearLayout) lv.getChildAt(6);
Toast.makeText(getApplicationContext(), Integer.toString(layout.getChildCount()), Toast.LENGTH_SHORT).show();
cb = (CheckBox) layout.getChildAt(0);
Toast.makeText(getApplicationContext(), Boolean.toString(cb.isChecked()), Toast.LENGTH_SHORT).show();
}
это работает только для объединенных просмотров – Blackbelt
Как мне получить все индексы? –