当需要更改我要单击的组的标题时,ExpandableListView onGroupClick始终仅更改第一个组标题

时间:2019-06-03 11:01:17

标签: android kotlin expandablelistview

我有“可扩展列表视图”,其中每个组元素均由复选框和文本视图组成。 我想单击该元素,然后选中此单击的元素集的复选框,并选中要删除的文本。 但是,当我单击任何组元素时,第一个元素的复选框和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>

0 个答案:

没有答案