让 Recycler View Items 在文本视图中显示它们的位置

Let Recycler View Items display their position in a text View

我有一个包含三个文本视图的回收站视图,我希望一个文本视图用作添加到回收站视图的每个新项目的计数器。所以第一项应该显示 1,第二项应该显示 2 等等。到目前为止,我已经尝试使用这个位置,但它显示每个项目的总位置,这意味着如果回收站中有 4 个项目,它会显示他们4个人的位置都是4。

设置的Text View就是应该显示的位置。

这是适配器:

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

}

谢谢!

您正在阅读的集合todayExercises.size,您要求的是列表大小。相反,只需阅读位置

在你的 onBindViewHolder class 中,在每个 textViews 中获取 Positions 并用 nextInt 增加它,比如 textView.get(position).nextInt(list.size())