java - 如何在android中的List<Object>项中添加数据

标签 java android

我是一名新的 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;
 }  

}

当我运行它时,然后显示流动错误 enter image description here

感谢您的帮助。

最佳答案

问题在这里:

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,然后为其设置数据,因此您的代码必须是:

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);

        }

关于java - 如何在android中的List<Object>项中添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24593178/

相关文章:

java - 如何在 Android Studio 中使用谷歌云翻译 API?

java - Android - 画线问题

java - 如何在 Android 应用程序中存储和检索上次使用的 Activity session

Java 解析日期 w/SimpleDateFormat

java - 如何查询邮箱账号是否有效?

Java - Eclipse 中的多个包问题

java - 捕获 Java/Android 内存不足

java - 如何删除目录中的所有文件但保留符号链接(symbolic link)指向的文件?

几个旋转屏幕后Android fragment 重叠

java - Android 中如何防止 root 设备绕过证书固定?