我是一个新的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);

        }

10-07 13:10
查看更多