【发布时间】:2017-09-29 12:10:04
【问题描述】:
正如您在下面看到的,我无法为我的应用程序 BindItems 引用 CustomAdapter 中的内部类。我不确定为什么它显示为红色且未找到。
class MyCustomAdapter(context: Context,val theList: ArrayList<MyInfo>): RecyclerView.Adapter<ViewHolder>(){
override fun getItemCount(): Int {
return theList.size
}
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
holder.bindItems(theList[position])
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
val v = LayoutInflater.from(parent.context).inflate(R.layout.main_row, parent, false)
return ViewHolder(v)
}
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
fun bindItems(user: MyInfo) {
val textViewName : TextView = itemView.findViewById<TextView>(R.id.row_town_name)
val textViewAddress : TextView = itemView.findViewById<TextView>(R.id.row_zip_code)
textViewName.text = user.townname
textViewAddress.text = user.zipcode
}
}
}
解决方案:
class MyCustomAdapter(context: Context,val theList: ArrayList<MyInfo>): RecyclerView.Adapter<MyCustomAdapter.MyViewHolder>(){
override fun getItemCount(): Int {
return theList.size
}
override fun onBindViewHolder(holder: MyCustomAdapter.MyViewHolder, position: Int) {
holder.bindItems(theList[position])
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyCustomAdapter.MyViewHolder {
val v = LayoutInflater.from(parent.context).inflate(R.layout.main_row, parent, false)
return MyViewHolder(v)
}
class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
fun bindItems(user: MyInfo) {
val textViewName : TextView = itemView.findViewById<TextView>(R.id.row_town_name)
val textViewAddress : TextView = itemView.findViewById<TextView>(R.id.row_zip_code)
textViewName.text = user.townname
textViewAddress.text = user.zipcode
}
}
}
谢谢 -R
【问题讨论】:
-
邮政编码,不是图片。这不是 Kotlin 的问题。
-
查看我的更新答案。