kok*_*yaa 12 android kotlin recycler-adapter android-recyclerview
我的Recycler View有以下ViewHolder类,
inner class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
private val dateText = itemView.itemDateSummaryList
private val systolicVal = itemView.systolicValue
private val diastolicVal = itemView.diastolicValue
fun update(listItem: SummaryListItemModel) {
Log.i(TAG, "Update method called " + listItem.date)
dateText.text = listItem.date
systolicVal.text = listItem.sysVal.toInt().toString()
diastolicVal.text = listItem.diasVal.toInt().toString()
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我运行该应用程序时,该dateText.text = listItem.date说法出现错误,
java.lang.IllegalStateException: dateText must not be null
at *****.******.*****.ui.detailview.bloodpressure.SummaryListAdapter$ItemViewHolder.update(SummaryListAdapter.kt:68)
Run Code Online (Sandbox Code Playgroud)
但是listItem.date不是null我已经检查了Log.
错误不是listItem.date,错误说dateText您尝试设置文本的textview为null,
仔细检查你使用的是正确的 textview
可能性:
1)你可能会使用错误id的textview
2)你而增加观看可能使用了错误的文件.
ctrl+单击itemDateSummaryList并查看是否textview来自相同的布局文件infate或其他
如果使用片段: 1.使用一个全局变量,该变量将保存您的布局引用
private var root: View? = null // create a global variable which will hold your layout
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
root = inflater.inflate(R.layout.your_layout_file_name, container, false) // initialize it here
return root
}
Run Code Online (Sandbox Code Playgroud)
2.要使用布局内的任何布局视图,可以将其与(root.)一起使用,例如:
root!!.textView.text="Hello"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12922 次 |
| 最近记录: |