如何在视图绑定中的活动中获取回收者视图当前项目文本值

Posted

技术标签:

【中文标题】如何在视图绑定中的活动中获取回收者视图当前项目文本值【英文标题】:How to get recycler view current item text value in activity in VIEW BINDING 【发布时间】:2021-05-21 03:21:19 【问题描述】:

我有一个回收器视图,我需要获取由文本视图和其他视图组成的当前 recyclerView 项目的值。在视图绑定之前,它非常简单,如下所示:

recyclerview.findViewHolderForAdapterPosition(i)!!.itemView.mDescription.text.toString()

现在在 recyclerView 适配器中启用视图绑定后,我无法从活动中访问 editTextDescription。 任何帮助表示赞赏。

这是我的适配器,其中包含 textView、editText、复选框等。我想要的是,在单击 Activity 中的按钮时,它应该从特定位置的项目的 recyclerView 适配器(ListAdapter)获取数据并提交它到 REST api。

class SpiranAdapter(private val list: List<Spiran>)
    : RecyclerView.Adapter<SpiranViewHolder>() 
   override fun onBindViewHolder(holder: SpiranViewHolder, position: Int) 
        val spiran: Spiran = list[position]
        holder.bind(spiran)
    

class SpiranViewHolder(inflater: LayoutInflater, parent: ViewGroup) :
    RecyclerView.ViewHolder(inflater.inflate(R.layout.list_item, parent, false)) 
    private var mTitleView: TextView? = null

    init 
        mTitleView = itemView.findViewById(R.id.list_title) // textView
        mYearView = itemView.findViewById(R.id.list_description) //textView
        mDescription = itemView.findViewById(R.id.description) // as EditText
        isServiceOpted = itemView.findViewById(R.id.isServiceOpted) // checkbox
    
    fun bind(spiran: Spiran) 
        mTitleView?.text = spiran.title
        mYearView?.text = spiran.year.toString()
        mDescription?.setText(spiran.description);
        isServiceOpted as Checkable).isChecked = spiran.status
    



除了复选框,没有任何点击监听器。有 editText,我需要从 editText 到活动的值

【问题讨论】:

请分享您启用视图绑定的 RecyclerView 适配器代码。 您想在您的回收站视图上添加点击监听器吗?我的意思是在点击列表项上你想获取值? @VarshaKulkarni 我想在不干扰适配器的情况下获得可见的项目值,这就是我不需要点击监听器的原因。 更多代码肯定会帮助您了解视图绑定所面临的具体问题。 与 ViewBinding 一起使用时,您可以使用这种方式对吗? binding.recyclerview.findViewHolderForAdapterPosition(i)!!.itemView.mDescription.text.toString()你有这方面的问题吗? 【参考方案1】:

我认为你应该在这里使用用户界面。

【讨论】:

以上是关于如何在视图绑定中的活动中获取回收者视图当前项目文本值的主要内容,如果未能解决你的问题,请参考以下文章

为recyclerview更新帖子的评论数

如何从适配器刷新主要活动中的视图?

如何从电子邮件意图中的回收站视图中获取两个文本视图?

如何在主要活动中使用按钮 onclicklistener 进行回收视图项目

如何在第一个活动中更新回收站视图,同时更改其他活动中的数据?

如何使用 PRISM 获取区域中的当前活动视图?