猿问

尝试在我的适配器类中的空对象引用上调用虚拟方法

我的编码遇到这些错误

尝试在空对象引用 onBindViewHolder(BrandAdapter.java:67) 和 BrandAdapter.onBindViewHolder(BrandAdapter.java:34) 上调用虚拟方法“void android.widget.TextView.setText(java.lang.CharSequence)”。

当我非常仔细地遵循教程时,我不太确定出了什么问题。而且我的数据库不为空。

它包含孩子。

这是我的适配器类

public class BrandAdapter extends RecyclerView.Adapter<BrandAdapter.MyViewHolder> {


    private Context context;


    List<String> key;



    ArrayList<Brand> brandList;


    public BrandAdapter(ArrayList<Brand> brandList) {

        thi.brandList = brandList;

    }



    @NonNull

    @Override

    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {

        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.brand_list, viewGroup, false);


        context = viewGroup.getContext();


        return new BrandAdapter.MyViewHolder(view);

    }


    public BrandAdapter(Context c) {

        this.context = c;


    }



    @Override

    public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, final int i) {


        myViewHolder.brand_name.setText(brandList.get(i).getBrand_name());

        Picasso.with(context).load(brandList.get(i).getBrand_image()).into(myViewHolder.image);

//        Picasso.with(mcontext).load(brand.getBrand_image()).into(myViewHolder.image);



        myViewHolder.itemView.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {


                String bName = brandList.get(i).getBrand_name();

                String pic = brandList.get(i).getBrand_image();


                Log.i("loz", bName);


                Intent intent = new Intent(context, updateBrand.class);

                intent.putExtra("brand_name", bName);

                intent.putExtra("imgurl", pic);

                context.startActivity(intent);

            }

        });

 @Override

    public int getItemCount() {

        return brandList.size();


        }

    }


}


元芳怎么了
浏览 91回答 1
1回答

慕哥9229398

在您的MyViewHolder布局中,您试图查找布局中不存在的视图。所以,尝试改变brand_name = itemView.findViewById(R.id.name)为brand_name = itemView.findViewById(R.id.brand_name)。同样的问题也与布局中的其他视图有关,除了image和delete:您没有带有brand_cv和frame_layoutid 的视图。
随时随地看视频慕课网APP

相关分类

Java
我要回答