3

非常に複雑な子項目 xml を持つ ExpandableListView を作成しました。TextView、Checkbox、EditText が含まれています。チェックボックス部分は次のとおりです。

 <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 番目の項目をチェックすると、すべてのグループで 5 番目の項目もチェックされます (2 番目の項目が選択されている場合は、6 番目の項目が選択されます)。

なぜ彼らも選ばれるのですか?

アップデート:

getChildViewメソッドには、次のコードがあります。

if (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 チェックを使用しない場合、チェックボックスは再利用されませんが、スクロールアウトすると、選択したチェックボックスも選択解除されます。

4

1 に答える 1