I need to display image by use Data class
I confused in data class I deal with image as image or Int data class User(val pic : Image)
or data class User(val pic : Int)
and display it throw CustomAdapter
class CustomAdapter(val userList: ArrayList<User>) : RecyclerView.Adapter<CustomAdapter.ViewHolder>() {
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomAdapter.ViewHolder {
val v = LayoutInflater.from(parent.context).inflate(R.layout.list_layout, parent, false)
return ViewHolder(v)
fun bindItems(user: User) {
val imageView = itemView.findViewById(R.id.image_item) as ImageView
imageView.setImageResource(pic: )
}
}
I know my code not complete so I need just example to demonstrate images in Data Class
Data Class should have generic type data, but in your code you are trying to save ImageView. Below is the sample data class:
data class User(val name: String, val pic: Int)
And also adding adapter code below:
class HelpAdapter : RecyclerView.Adapter<HelpAdapter.ViewHolder>() {
override fun getItemCount() = 10
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view =LayoutInflater.from(parent.context).inflate(R.layout.row_navigation_menu,parent,false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
//here add data to the views
//If your have list of user data, then you can each user like
val user = usersData[position]
holder.nameTV.text = user.name
holder.imageView.setImageResource(user.pic)
}
inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val nameTV = view.tv_name
val imageView = view.iv_pic
}
}