ExpandableListView onGroupClick всегда меняет только название первой группы, когда нужно изменить название группы, на которую я нажимаю - PullRequest
0 голосов
/ 03 июня 2019

У меня есть расширенный вид списка, где каждый элемент группы состоит из флажка и текстового представления. Я хочу щелкнуть по элементу и установить флажок этого набора элементов, по которому щелкнули, и зачеркнутого текста. Но когда я нажимаю на любой элемент группы, флажок и текстовое представление первого элемента изменяются. Когда я записываю позицию элемента, на который я нажимаю в журналах, он показывает правильное число, первый элемент выводит 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>
...