Search code examples
androidkotlinandroid-recyclerviewfragment

I could not connect my recyclerview in fragment with adapter


my fragment class

class RecyclerFragment : Fragment() {
var recycler:RecyclerView? =null

private var param1: String? = null
private var param2: String? = null


override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    recycler = view?.findViewById(R.id.recycler)

    }


override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_recycler, container, false)
}

override fun onActivityCreated(savedInstanceState: Bundle?) {
    super.onActivityCreated(savedInstanceState)
    recycler?.layoutManager = LinearLayoutManager(this.context,RecyclerView.VERTICAL,false)


    recycler?.adapter = Custom_Adapter() // error-Unresolved reference: Custom_Adapter


}


}

//here is my adater

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


override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): Custom_Adapter.ViewHolder {
 var myViewInflater = LayoutInflater.from(viewGroup.context).inflate(R.layout.custom_layout,viewGroup,false)
    return ViewHolder(myViewInflater)
}

override fun onBindViewHolder(holder: Custom_Adapter.ViewHolder, position: Int) {

}

override fun getItemCount(): Int {
    return 9

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

}
}

Solution

  • Update your recycler fragment like this.

    class RecyclerFragment : Fragment(R.layout.fragment_recycler) {
    var recycler:RecyclerView? =null
    
        private var param1: String? = null
        private var param2: String? = null    
    
    
        override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
            super.onViewCreated(view, savedInstanceState)
            recycler = view.findViewById(R.id.recycler)
            recycler?.layoutManager = LinearLayoutManager(this.context,RecyclerView.VERTICAL,false)
            recycler?.adapter = Custom_Adapter()
        }
    
    
    }
    

    And you have to move classes Recucler_Item and Custom_Adapter into correct java package.