ユーザーがグループ内の多くのオプションから 1 つのオプションを選択するシナリオを実装しようとしています。下の図を参照してください。
上の図では、 Sauceという名前のグループの下に、3 つのオプションがあります。ユーザーは、これらのうち 1 つのオプションのみをチェックする必要があります。例: ユーザーが以前に「ホット」を選択した場合。その後、彼は「マイルド」をタップし、チェックは「ホット」から消え、「マイルド」に表示される必要があります。この点を理解していただければ幸いです。
このアプローチを実現するには、チェックマークを切り替えることができるように、a group's childviews
またはのいずれかを参照する必要があります。この時点でどうすればいいのか本当にわかりません...助けてください。ありがとう..individual checks
childlayout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dip" >
<TextView
android:id="@+id/childname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Large Text"
android:layout_alignParentLeft="true"
android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"
android:textAppearance="?android:attr/textAppearanceMedium" />
<ImageView
android:id="@+id/checkmark"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/childname"
android:layout_alignParentRight="true"
android:layout_marginRight="22dp"
android:background="@android:color/transparent"
android:src="@drawable/checkmark" />
</RelativeLayout>
子 OnClick リスナー
list.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
//how to get reference to other children here to toggle checkmark of current as well as previously tapped child's checkmark?
return false;
}
});