我正在做一个简单的回收视图。在扩展了recycleview适配器并实现了方法之后,我的onbind方法如下所示:
public void onBindViewHolder(@NonNull ImageViewHolder imageViewHolder, int i)
我遵循的每个教程中都没有“ i”其“位置”。请解释为什么我没有职位?
答案 0 :(得分:0)
变量的名称无关紧要。可以i
,position
,foo
或其他方式使用。但是它始终是项目的位置。 docs这样说:
bindViewHolder(VH持有人,int位置) 此方法在内部调用 onBindViewHolder(ViewHolder,int)更新 RecyclerView.ViewHolder内容与给定位置的项目 并设置了一些供RecyclerView使用的私有字段。
答案 1 :(得分:0)
使用Android Studio实现方法时,它将创建空方法。方法的每个参数都必须有一个名称,Android Studio会为您创建一个名称。 一旦获得
public void onBindViewHolder(@NonNull ImageViewHolder imageViewHolder, int i)
您可以根据需要重命名imageViewHolder
和i
,因为最终android将基于方法的名称和方法的参数类型(而非名称)来调用您的方法。
position
的名称比i
更有意义,因此本教程的作者决定以这种方式命名此int。