非常に単純なエラーだと思います。何らかの理由でメンタル ブロックが発生しているだけです。
他のオブジェクトの ArrayList を含むオブジェクトがあります。コンストラクターでリストを初期化しようとすると、初期化されないようで、コード内のリストにアクセスしようとすると nullpointer が返されます。
注文クラス変数:
private int covers;
private int table;
private ArrayList<MenuItem> items;
Order クラスは次のとおりです。
public Order(int covers, int table) {
super();
this.covers = covers;
this.table = table;
this.items = new ArrayList<MenuItem>();
}
問題を引き起こしている MainActivity 内のコードは次のとおりです。
order = new Order();
order.setCovers(2);
order.setTable(1);
order.addToOrder(new MenuItem("Item 1", 12.99));
Toast.makeText(getApplicationContext(), "order size: " + order.getItems().size(), Toast.LENGTH_SHORT).show();
トーストには「1」が表示されると思います。ただし、デバッガーを実行すると、注文オブジェクトの ArrayList 属性が null に等しいことに気付きました。
理由はありますか?前もって感謝します!
編集: addToOrder メソッド:
public void addToOrder(MenuItem m){
items.add(m);
}