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

当我尝试运行我的代码时,它给我一个错误,说我正在尝试在空对象引用上尝试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);

    }



慕尼黑5688855
浏览 143回答 1
1回答

森林海

这仅仅是因为您在使用ButterKnife库时忘记绑定视图。因此,您需要通过添加以下内容来更改代码:ButterKnife.bind(this)public class SalesHistoryActivity extends AppCompatActivity {&nbsp; &nbsp; @BindView(R.id.sales_recycler)&nbsp; &nbsp; RecyclerView recyclerView;&nbsp; &nbsp; ..&nbsp; &nbsp; @Override&nbsp; &nbsp; protected void onCreate(Bundle savedInstanceState) {&nbsp; &nbsp; &nbsp; &nbsp; super.onCreate(savedInstanceState);&nbsp; &nbsp; &nbsp; &nbsp; setContentView(R.layout.activity_sales_history);&nbsp; &nbsp; &nbsp; &nbsp; ButterKnife.bind(this);&nbsp; &nbsp; &nbsp; &nbsp; // now your views are binded. You can access them&nbsp; &nbsp; &nbsp; &nbsp; ...&nbsp; &nbsp; &nbsp; &nbsp; recyclerView.setHasFixedSize(true);&nbsp; &nbsp; &nbsp; &nbsp; ...&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java