当我尝试运行我的代码时,它给我一个错误,说我正在尝试在空对象引用上尝试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);
...
}
}
添加回答
举报
0/150
提交
取消