首页 > 解决方案 > 无法拒绝符号“位置”

问题描述

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

中的“无法解析符号‘位置’” 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);
    }
}


}

标签: javaandroid-studiopositionandroid-adapterandroid-viewholder

解决方案


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

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

}

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


推荐阅读