无法引用Kotlin中的子类

正如你在下面看到的,我无法引用我的CustomAdapter的内部类为我的应用程序BindItems 。 我不知道为什么它显示为红色,没有找到。

  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

像下面一样改变你的onBindViewHolder方法,并改变你的ViewHolder的名字:

 override fun onBindViewHolder(holder: MyViewHolder, position: Int) { }