【发布时间】:2022-11-15 23:24:27
【问题描述】:
我一直在查看关于该主题的其他类似帖子,但由于我目前正在深入学习 Kotlin,所以我想讨论问题、解决方案以及如果可能的话为什么会发生。
我收到以下错误:
C:\Users\Paul\Documents\Projects\DataApp\app\src\main\java\com\example\dataapp\MyAdapter.kt: (19, 31): 未解析的引用:userId
这是代码示例,问题发生在 ViewHolder 类中:
package com.example.dataapp
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
class MyAdapter (val context: Context, val userList: List<MyDataItem>): RecyclerView.Adapter<MyAdapter.ViewHolder>() {
class ViewHolder(itemView: View): RecyclerView.ViewHolder(itemView) {
var userId: TextView
var title: TextView
init {
userId = itemView.userId
title = itemView.title
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
var itemView = LayoutInflater.from(context).inflate(R.layout.row_items, parent, false)
return ViewHolder(itemView)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.userId.text = userList[position].userId.toString()
holder.title.text = userList[position].title
}
override fun getItemCount(): Int {
return userList.size
}
}
在 XML 中,我设置了两个带有 userId 和标题 id 的文本字段:
但是我都收到了这个未解决的错误。我仍在努力学习我在 Kotlin 和 Android 方面的知识,而且还很新,所以毫无疑问会是一些非常基础的东西。
我到目前为止:
仔细检查语法匹配 检查我是否正确绑定 - 我相信这就是问题所在。我正在关注一个不使用绑定的教程,只是使用'R.layout.activity_main'引用但是我使用的是binding.root - 这可能是问题吗?
这是 GitHub 存储库的链接 - https://github.com/Code4Wyatt/FetchDataKotlin
感谢您的任何帮助!如果需要更多信息,请告诉我。
【问题讨论】:
标签: android kotlin android-recyclerview binding retrofit