我有一个包含三个文本视图的回收者视图,我希望一个文本视图用作添加到回收者视图的每个新商品的计数器。因此,第一个项目应显示1,第二个项目应显示2,依此类推。到目前为止,我已经尝试过使用该位置,但是它显示了每个项目的位置总数,这意味着如果回收站中有4个项目,则显示所有4个位置中的第4个。
设置的文本视图应显示位置。
这是适配器:
class TrackAdapter(private val context: Context) : RecyclerView.Adapter<TrackAdapter.SetViewHolder>() {
private val inflater: LayoutInflater = LayoutInflater.from(context)
private var todayExercises = emptyList<WorkoutTable>() // Cached copy of words
var mName: String?=null
inner class SetViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val sets: TextView = itemView.findViewById(R.id.tvSets)
val weight: TextView = itemView.findViewById(R.id.tvWeight)
val reps: TextView = itemView.findViewById(R.id.tvReps)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int):SetViewHolder {
val itemView = inflater.inflate(R.layout.track_item, parent, false)
return SetViewHolder(itemView)
}
override fun onBindViewHolder(holder: SetViewHolder, position: Int) {
val current = todayExercises[position]
val sets = todayExercises.size //attempt to get position for counter
holder.sets.text = (sets.toString() + " set") //this is where i tried setting the position
holder.weight.text = (current.weight.toString() + " lbs")
holder.reps.text = (current.reps.toString() + " reps")
holder.itemView.setOnClickListener {
}
}
internal fun setExercises(exercises: List<WorkoutTable>) {
this.todayExercises = exercises
notifyDataSetChanged()
}
override fun getItemCount() = todayExercises.size
}
谢谢!
答案 0 :(得分:1)
您正在阅读的集 todayExercises.size ,您需要列表的大小。相反,只需读取位置
答案 1 :(得分:0)
在每个textViews中的onBindViewHolder类中,获取Positions并使用nextInt对其进行递增,例如textView.get(position).nextInt(list.size())