Как обновить HeaderItem в группе ie Android - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть такой HeaderItem

class HeaderItem(private val groupName: String,private val groupEditListener: GroupEditListener) : Item() {
    override fun bind(viewHolder: GroupieViewHolder, position: Int) {
        viewHolder.apply {
            itemView.tvGroupName.text = "Group : $groupName"
        }

        viewHolder.itemView.tvEdit.setOnClickListener {
            groupEditListener.onEditClicked(this@HeaderItem,groupName)
        }
    }

    override fun getLayout(): Int {
        return R.layout.group_single_item
    }


}

И у меня есть такой ChildItem

class ChildItem(private val childNamee:String): Item() {
    override fun bind(viewHolder: GroupieViewHolder, position: Int) {
        viewHolder.apply {
            itemView.tvName.text = childNamee

        }
    }

    override fun getLayout(): Int {
        return R.layout.entries_single_item
    }



}

Затем я настраиваю GroupieAdapter следующим образом

val groupAdapter = GroupAdapter<GroupieViewHolder>().apply {
            groups.forEach { group ->
                val section = Section()
                section.setHeader(HeaderItem(group.name.toString(),groupEditListener))
                section.addAll(group.entries?.map { it -> ChildItem(it.name.toString()) }!!)
                this.add(section)

            }
        }

        recyclerViewGroups.apply {
            layoutManager = linearLayoutManager
            adapter = groupAdapter
        }

Теперь я хочу обновить HeaderItem и получить обновленные данные, подобные этим

disposable = RxBus.listen(GroupNameBridge::class.java).subscribe {
        val updateHeader = HeaderItem(it.name,groupEditListener)
        //I am not sure how to update this particular item
        }

Но я не уверен, как обновить этот конкретный элемент в GroupAdapter. Любая помощь будет оценена. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...