当试图在RecyclerView.Adapter中使用Kotlin Extensions来引用XML布局文件中的视图时,即使看似正确的导入,Intellij也无法通过其ID识别视图。关于这一点的奇怪之处在于它可以在Activity或Fragment中运行。 是否需要在RecyclerView.Adapter中使用其他上下文?
Intellisense没有在RecyclerView.Adapter实现中获取视图:
这是我的XML,以防万一
{{1}}
答案 0 :(得分:0)
您似乎正在尝试在 onBindViewHolder 之外的视图中获得该视图。
请查看此示例:
import kotlinx.android.synthetic.main.row_badges_item.view.*
class BadgesAdapter(private val mActivity: Activity) : RecyclerView.Adapter<BadgesAdapter.ViewHolder>() {
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bind(position)
}
override fun getItemCount(): Int {
ba // Error here
return mData.size
}
inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
fun bind(position: Int) {
with(itemView) {
val badge = mData[position]
badges_title.text = badge.badgeTitle // Fine here
}
}
}
}
希望有帮助。谢谢。 :)