为了账号安全,请及时绑定邮箱和手机立即绑定

android studio 尝试在 null 对象引用上调用虚拟方法 'void

android studio 尝试在 null 对象引用上调用虚拟方法 'void

慕尼黑5688855 2022-09-07 17:55:00
当我尝试运行我的代码时,它给我一个错误,说我正在尝试在空对象引用上尝试RecyckerView。安卓工作室检测到的问题就在这条线上 。有人知道这个问题吗?recyclerView.setHasFixedSize(true);这是活动:public class SalesHistoryActivity extends AppCompatActivity {    @BindView(R.id.sales_recycler)    RecyclerView recyclerView;    SalesAdapter adapter;    List<Sales> salesList;    Sales sales;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_sales_history);        salesList = new ArrayList<>();        recyclerView.setHasFixedSize(true);        recyclerView.setLayoutManager(new LinearLayoutManager(this));        adapter = new SalesAdapter(this, salesList);        recyclerView.setAdapter(adapter);        loadItem();    }这是适配器public class SalesAdapter extends RecyclerView.Adapter<SalesAdapter.ItemViewHolder> {    private Context mCtx;    private List<Sales> salesList;    public SalesAdapter(Context mCtx, List<Sales> salesList){        this.mCtx = mCtx;        this.salesList = salesList;    }    @NonNull    @Override    public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {        View rootView = LayoutInflater.from(mCtx).inflate(R.layout.list_sales, null, false);         RecyclerView.LayoutParams layoutParams = new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);        rootView.setLayoutParams(layoutParams);        return new ItemViewHolder(rootView);    }
查看完整描述

1 回答

?
森林海

TA贡献2011条经验 获得超2个赞

这仅仅是因为您在使用ButterKnife库时忘记绑定视图。因此,您需要通过添加以下内容来更改代码:ButterKnife.bind(this)


public class SalesHistoryActivity extends AppCompatActivity {


    @BindView(R.id.sales_recycler)

    RecyclerView recyclerView;


    ..


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_sales_history);


        ButterKnife.bind(this);


        // now your views are binded. You can access them


        ...


        recyclerView.setHasFixedSize(true);


        ...


    }


}


查看完整回答
反对 回复 2022-09-07
  • 1 回答
  • 0 关注
  • 141 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号