我是一个新的android开发人员。我正在开发一个示例应用程序。我想在对象列表中添加一些数据。
我的MainActivity.java类代码:
public class MainActivity extends Activity {
private PersonalInfo item;
private List<PersonalInfo> itemList = new ArrayList<PersonalInfo>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
for (int i = 0; i < 5; i++) {
item.setFirstName("AA::" + i);
item.setLastName("BB::" + i);
item.setAddress("New City " + i);
item.setSex("Male");
itemList.add(item);
item = new PersonalInfo();
}
for(PersonalInfo p:itemList){
System.out.println("First Name::"+p.getFirstName());
System.out.println("Last Name::"+p.getLastName());
}
}
}
我的PersonalInfo.java类代码:
public class PersonalInfo {
private String firstName;
private String lastName;
private String address;
private String sex;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
当我运行它,然后显示流动错误
谢谢你的帮助。
最佳答案
问题在这里:
for (int i = 0; i < 5; i++) {
item.setFirstName("AA::" + i); <-- error happened here because item is null
item.setLastName("BB::" + i);
item.setAddress("New City " + i);
item.setSex("Male");
itemList.add(item);
item = new PersonalInfo();
}
您需要首先初始化
item
,然后将数据设置为ojit_code,因此您的代码必须为:for (int i = 0; i < 5; i++) {
item = new PersonalInfo(); <-- I've moved this line
item.setFirstName("AA::" + i);
item.setLastName("BB::" + i);
item.setAddress("New City " + i);
item.setSex("Male");
itemList.add(item);
}