-3

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

tynn
  • 38,113
  • 8
  • 108
  • 143
engmms
  • 347
  • 1
  • 4
  • 16

1 Answers1

1

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
 }
}
Saritha G
  • 2,588
  • 1
  • 15
  • 27
  • I need to display image..from R.drawable.mypic...as example.. val imageView = itemView.findViewById(R.id.image_item) as ImageView imageView.setImageResource(pic: id )...your code not refer to any image – engmms Feb 22 '18 at 19:06
  • you have only one image? or more than one..? If you have more than one image, then you need to save it into data class first as an integer. – Saritha G Feb 23 '18 at 05:46
  • thanks..@Saritha G...your replay help me to solve the problem – engmms Feb 28 '18 at 19:23