Reputation: 154
I don't know why it presents only one item.
class MyRecyclerviewAdapter : RecyclerView.Adapter<MyRecyclerviewAdapter.MyViewHolder>() {
val mData = arrayListOf<CardviewItem>(CardviewItem("TEST", "TEST1"), CardviewItem("TEST", "TEST2"), CardviewItem("AAA", "ABBB"))
inner class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val imageview_cardview = itemView.findViewById<AppCompatImageView>(R.id.imageview_cardview)
val textview_cardview = itemView.findViewById<TextView>(R.id.textview_cardview)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
return MyViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.cardview_items, parent, false))
}
override fun getItemCount(): Int {
return mData.size
}
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
holder.imageview_cardview.setImageResource(R.drawable.ic_android_black_24dp)
holder.textview_cardview.setText(mData[position].text)
}
}
Upvotes: 1
Views: 199
Reputation: 945
What is CardviewItem here? If CardviewItem is a model class containing two String type field, you can initilaize it like this:
val list = ArrayList<CardviewItem>()
Then you can get the value like this:
list[position].field1
list[position].field2
Upvotes: 2