在JavaFX中,我创建了一个运动跟踪系统。如何将对象添加到对象内的ArrayList中
我的对象用户有很多食物和许多练习,这些都存储为ArrayLists。
public class User {
private ArrayList<Food> listofFood = new ArrayList<Food>();
private ArrayList<Exercise> listofExercise = new ArrayList<Exercise>();
private String um;
public User(String u) {
this.um = u;
}
public void addNewFood(Food f) {
listofFood.add(f);
}
public void addNewExercise(Exercise ex) {
listofExercise.add(ex);
}
}
食物和运动的结构相似。
public class Food {
private String name;
public Food(String n) {
this.name = n;
}
public void setNameFood(String n) {
this.name = n;
}
}
在我的MainApp类中,我创建了一个用户。
public class MainApp {
public User UserLoggedIn;
}
并且我使用控制器传入此类的一个实例。
public class MainApp {
MyController c = loader.getController();
c.setDialogStage(dialogStage);
c.setApp(this);
}
而且在类myController的设置我的应用程序...
public class MyController {
public void setApp(MainApp app) {
this.mainApp = app;
}
}
...然后我在引用myController的。
public class MyController {
mainApp.UserLoggedIn.addNewFood((new Food(nameField.getText())));
}
这给出了一个空指针异常
那么......问题是什么? –
如果您询问如何访问对象,您只需在用户类中为它写入agettter方法即可。 –
@JonathanNewmuis它给出一个空指针异常[更新后的描述] –