Итак, я создал RecyclerView для генерации напитков и по какой-то причине мой переработчик продолжает повторять первый элемент.
Я пытался использовать
inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)
при использовании
holder.itemView.text_view1.text = user.name
holder.itemView.text_view2.text = user.name
holder.itemView.text_View3.text = user.name
и результаты совпадают.
Что вызывает повторение?
BeverageAdapter.kt
class BeverageAdapter(val List:ArrayList<Beverage>)
RecyclerView.Adapter<BeverageAdapter.ViewHolder>() {
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val textViewName2 = itemView.findViewById(R.id.text_view1) as TextView
val texViewName3 = itemView.findViewById(R.id.text_view2) as TextView
val textViewHello = itemView.findViewById(R.id.text_View3) as TextView
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val v = LayoutInflater.from(parent.context).inflate(R.layout.list_activity, parent, false)
return ViewHolder(v)
}
override fun getItemCount(): Int {
return List.size
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val user: Beverage = List[position]
holder.textViewName2.text = user.name
holder.texViewName3.text = user.name
holder.textViewHello.text = user.name
}
}
Beverage.kt
data class Beverage(val name: String)
MainActivity.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val recyclerView = findViewById<RecyclerView>(R.id.item_recycler_view)
recyclerView.setLayoutManager(LinearLayoutManager(this))
val users = ArrayList<Beverage> ()
users.add(Beverage("Coke"))
users.add(Beverage("Gingerale"))
users.add(Beverage("Rootbeer"))
val adapter = BeverageAdapter(users)
recyclerView.adapter = adapter
}
}