gpt4 book ai didi

java - 如何在另一个类适配器中访问给定适配器的 onBindViewHolder 项?

转载 作者:行者123 更新时间:2023-12-01 18:02:45 27 4
gpt4 key购买 nike

我想在下一类 ChildViewHolder 的 onBindViewHolder 中访问 DayOfWeek,这样我就可以在 if 语句中使用它,如 ChildRecyclerAdapter 中所示。

class ParentRecyclerAdapter(private var parentArrayList: ArrayList<String>?, private var context: Context, private var mTableFeed: TableFeedJava?
) : RecyclerView.Adapter<ParentRecyclerAdapter.ParentViewHolder>() {


override fun onBindViewHolder(holder: ParentViewHolder, position: Int) {
holder.DayOfWeek.text = this.parentArrayList!![position]
}
override fun getItemCount(): Int {
return parentArrayList!!.size
}

inner class ParentViewHolder (itemView: View) : RecyclerView.ViewHolder(itemView)

{
internal var DayOfWeek: TextView = itemView.findViewById(R.id.dayOfWeek)
internal var ChildRV: RecyclerView = itemView.findViewById(R.id.ChildRecycler)
}

这是 ChildRecyclerAdapter。我需要 Parent 的 DayOfWeek 才能在此类中使用它作为

class ChildRecyclerAdapter(
private var time: ArrayList<String>,
var context: Context,
private val parentArrayList: ArrayList<String>? = null


) :
override fun onBindViewHolder(holder: ChildViewHolder, position: Int) {

holder.timeOfDay.text = time[position]
mTableFeed = TableFeedJava(context,mLectures)
holder.childofChildRV.adapter = mTableFeed

//THIS IS WHERE I PLAN ON USING THE IMPORTED 'DayOfWeek' AS SEEN ON 'holder.timeOfDay.text'
for (i in mTimeSpinner!!.indices){
if(holder.timeOfDay.text == mTimeSpinner!![i]){
holder.childofChildRV.visibility = View.VISIBLE
}else{
holder.childofChildRV.visibility = View.INVISIBLE
}
}


我知道代码是用 Kotlin 编写的,但我也可以接受 Java 答案。

最佳答案

为什么不简单地传递一个对象

private var time: ArrayList<YourClass> 

而不是

private var time: ArrayList<String>

在我看来这是最简单的解决方案

关于java - 如何在另一个类适配器中访问给定适配器的 onBindViewHolder 项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60601934/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com