Android снятие флажков в ListView - PullRequest
2 голосов
/ 11 января 2012

У меня есть ListView с нестандартным адаптером. Это фонтаны CheckBoxes. Когда один из них проверен, я хотел бы, чтобы другие не проверялись. Я попытался создать список CheckBox, а затем создал метод для возврата этого списка, но он продолжал давать IndexOutOfBounds (я добавил флажки в список в методе getView).

Это мой адаптер .

xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<CheckBox android:id="@+id/checkBoxListView"
    android:layout_height="50px"
    android:layout_width="50px"/>

<EditText android:id="@+id/editTxtListView"
    android:layout_height="50px"
    android:layout_width="680px"
    android:editable="false"
    android:focusable="false" />    

1 Ответ

2 голосов
/ 11 января 2012

почему бы не иметь глобальное целое число, представляющее проверенную позицию, и в методе getview посмотреть, совпадают ли значение глобальной переменной и позиция, для которой вызывается getView, а затем сделать флажок установленным, иначе не отмеченным.Увидел ваш код в пастбине.
Вы делаете его довольно сложным.
В любом случае, просто быстрый комментарий,
Не делайте this.pos = position;
ingetView ().

Вместо этой проверки if (postion == this.pos) {
// Установите этот флажок}
else {
// снимите флажок с этой проверкиbox
}


Кроме того, «pos» должен контролироваться действием или самим pojo, обрабатывающим данные для списка.

...