我正在从singelton类中获取数据到我的活动列表之一,但在列表中我获得了最后一个值,请任何人都可以为我排序

时间:2017-02-02 06:21:23

标签: java android

代码:

geocoder.geocode({
   'latLng': latLng
}, (results, status) => {
    for (var i = 0; i < results[0].address_components.length; i++) {
       var address = results[0].address_components[i];
       if (address.types[0] == "postal_code") {
          console.log(address.long_name) // prints 680001
          this.pincode = Number(address.long_name) // not working
       }
   }
});

并显示日志

studentName=Singleton.getInstance().getNameId();

 Log.v("studentname",""+studentName);

 Iterator it=studentName.entrySet().iterator();

 while (it.hasNext()){

 Map.Entry entry = (Map.Entry) it.next();

 String name= String.valueOf(entry.getValue());

 students.setName(name);

 list.add(students);

 Log.v("students",""+list);

  }

1 个答案:

答案 0 :(得分:0)

每次设置新名称然后将学生参考添加到列表中时,您应该创建学生对象。在您的情况下,学生保持参考,当您在学生对象中设置新名称时,它会覆盖以前在列表中添加的对象。

查看以下代码我在您的代码中添加了一行代码。试试这个。

studentName=Singleton.getInstance().getNameId();

Log.v("studentname",""+studentName);

Iterator it=studentName.entrySet().iterator();

while (it.hasNext()) {

    Map.Entry entry = (Map.Entry) it.next();
    String name= String.valueOf(entry.getValue());
    students = new Students(); // Add this line 
    students.setName(name);

    list.add(students);

    Log.v("students",""+list);
}