java - 无法解析符号 'position'

标签 java android-studio position android-adapter android-viewholder

我正在编写一个适配器类,其中获取位置显示错误:

"Cannot resolve symbol 'position'" in onBindViewHolder.

public class cat_adapter extends RecyclerView.Adapter<cat_adapter.Viewholder> {

private List<cat_model> cat_modelList;

public cat_adapter(List<cat_model> cat_modelList) {
    this.cat_modelList = cat_modelList;
}


@NonNull
@Override
public Viewholder onCreateViewHolder(@NonNull ViewGroup parent, int i) {
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.category,,false);
    return new Viewholder(view);
}

@Override
public void onBindViewHolder(@NonNull Viewholder holder, int i) {
    holder.setData(cat_modelList.get(position).getCategory();

}

@Override
public int getItemCount() {
    return cat_modelList.size();
}

class Viewholder extends RecyclerView.ViewHolder{

    private TextView title;

    public Viewholder(@NonNull View itemView) {
        super(itemView);

        title= itemView.findViewById(R.id.category);
    }

    private void setData(String title){
        this.title.setText(title);
    }
}


}

最佳答案

像这样更改代码。它会起作用的。您必须将“position”替换为“i”。

@Override
public void onBindViewHolder(@NonNull Viewholder holder, int i) {
    holder.setData(cat_modelList.get(i).getCategory();

}

您必须传递从 onBindViewHolder 方法的第二个参数获取的变量,该变量是一个 int 变量。

关于java - 无法解析符号 'position',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59658162/

相关文章:

java - 哪个双值参数使 String.format 结果成为星号

Java:FontMetrics 上升不正确?

Android Studio 0.3.1、appcompat-v7 和 android 库项目总是生成 IllegalStateException

java - 询问倍数权限android 6.0

css - 如何将 2 个相对 div 相互定位/顶部 css 属性在浏览器中有所不同,使用 css 以便它们在所有浏览器中显示相同?

java - 当值传递给 Action 类方法时,变量值被视为 null

java - 在 JBoss 上运行 Spring Boot 应用程序 - 忽略端点的问题

android - 抽屉导航 Activity 的 Activity Intent (应用程序崩溃)

CSS图像在不同分辨率下的不同位置?

html - 如何使带有溢出的 ul 适合绝对 div