Я создал ExpandableListView с довольно сложным дочерним элементом xml. Он содержит TextView, флажок и EditText. Вот CheckBox часть:Проверить флажок CheckBox дочернего элемента ExpandableListView случайным образом
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="55dip"
android:orientation="horizontal"
android:stretchColumns="0">
<TableRow>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:id="@+id/lblListItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14dip"
android:paddingTop="2dp"
android:paddingBottom="2dp"
android:paddingLeft="?android:attr/expandableListPreferredChildPaddingLeft"/>
<CheckBox
android:id="@+id/cboxIsRel"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>
</TableRow>
</TableLayout>
Если я проверяю 1-й пункт, в каждой группе пятый элемент также получает проверяется (если выбран второй, то шестой получает выбранный).
Почему они также выбраны?
ОБНОВЛЕНИЕ:
В методе getChildView меня есть этот код:
, если (convertView == NULL) { LayoutInflater infalInflater = (LayoutInflater) this._context .getSystemService (Context.LAYOUT_INFLATER_SERVICE) ; convertView = infalInflater.inflate (R.layout.expandable_list_item, null); }
TextView txtListChild = (TextView) convertView .findViewById(R.id.lblListItem); txtListChild.setText(childText);
Если я не использую проверку convertView, то флажок не используется повторно, но и установлен флажок получает Unselected, если я перечисляю вне.
Я не совсем понимаю ваше предложение. В адаптере у меня есть getChildView, но он не устанавливает ничего из состояния флажка. Можете ли вы объяснить немного больше? – Nestor
@Nestor см. Новое редактирование –
Я отвечаю за сохранение проверенных состояний моих флажков? Скажем, в HashMap? Разве нет встроенной поддержки для этого? – Nestor