我有“可扩展列表视图”,其中每个组元素均由复选框和文本视图组成。 我想单击该元素,然后选中此单击的元素集的复选框,并选中要删除的文本。 但是,当我单击任何组元素时,第一个元素的复选框和textview都会更改。 当我写出要在日志中单击的元素的位置时,它会显示正确的数字,第一个元素的输出为0,第二个元素的输出为1,依此类推。
这是我的onClick方法
expandableListView!!.setOnGroupClickListener { expandableListView, view, i, l ->
if (expandableListView.isGroupExpanded(i)) {
val checkBox = findViewById<CheckBox>(R.id.checkBoxTaskOnly)
val listTitle = findViewById<TextView>(R.id.listTitle)
Log.i("position", i.toString())
checkBox.isChecked = true
listTitle.paintFlags = Paint.STRIKE_THRU_TEXT_FLAG
}
return@setOnGroupClickListener true
}
这是list_group.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/taskOnly"
android:orientation="horizontal">
<CheckBox
android:id="@+id/checkBoxTaskOnly"
android:layout_width="wrap_content"
android:focusable="false"
android:layout_height="wrap_content"
android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"/>
<TextView
android:id="@+id/listTitle"
android:layout_width="match_parent"
android:focusable="false"
android:layout_height="wrap_content"
android:textColor="@android:color/black"/>
</LinearLayout>
这是main_activity.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ExpandableListView
android:id="@+id/expandableListView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:groupIndicator="@null"
android:dividerHeight="0.5dp">
</ExpandableListView>
</LinearLayout>