Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法解析RecyclerView中的视图保持架_Android_Kotlin_Android Recyclerview_Android Viewholder - Fatal编程技术网

Android 无法解析RecyclerView中的视图保持架

Android 无法解析RecyclerView中的视图保持架,android,kotlin,android-recyclerview,android-viewholder,Android,Kotlin,Android Recyclerview,Android Viewholder,我是RecyclerView的新手,我想实现这一点,但问题是我无法解决以下代码中的viewholder引用,请帮助我 class ViewAdapter : RecyclerView.Adapter<ViewAdapter.ViewHolder>(){ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewAdapter.ViewHolder { // return Vi

我是RecyclerView的新手,我想实现这一点,但问题是我无法解决以下代码中的viewholder引用,请帮助我

class ViewAdapter : RecyclerView.Adapter<ViewAdapter.ViewHolder>(){
     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewAdapter.ViewHolder {
        // return ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.slider, parent, false))
    // }
     }

     override fun getItemCount(): Int {
         TODO("not implemented") 
     }

     override fun onBindViewHolder(holder: ViewAdapter.ViewHolder, position: Int) {
         TODO("not implemented") 
     }


 }

您需要在ViewAdapter类中创建一个类ViewHolder

示例代码

class ViewAdapter : RecyclerView.Adapter<ViewAdapter.ViewHolder>() {
    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewAdapter.ViewHolder {
        // return ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.slider, parent, false))
        // }
    }

    override fun getItemCount(): Int {
        TODO("not implemented")
    }

    override fun onBindViewHolder(holder: ViewAdapter.ViewHolder, position: Int) {
        TODO("not implemented")
    }

    class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
    }
}

您尚未在ViewAdapter中定义ViewHolder类

class ViewHolder(itemView: View): RecyclerView.ViewHolder(itemView) {

}
只需在ViewAdapter中定义ViewHolder类

class ViewHolder(itemView: View): RecyclerView.ViewHolder(itemView) {

}
ViewAdapter是您正在创建的类,因此ViewAdapter.ViewHolder是它的内部类

您需要创建此内部类,如:

class ViewAdapter : RecyclerView.Adapter<ViewAdapter.ViewHolder>(){

   ...

   class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        ...
   }
}

ViewHolder是一个抽象类,您必须提供自己的实现。如果您使用的是基于IntelliJ的IDE,您可以在未解析的视图顶部alt+enter并创建该类。在这种情况下,这就是你需要做的。