代码:
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);
}
并显示日志
02-02 11:35:01.140 17483-17483/com.example.tiger.servertest V/students: [Student One]
02-02 11:35:01.140 17483-17483/com.example.tiger.servertest V/students: [Student two, Student two]
最佳答案
每次设置新名称时都应该创建学生对象,然后将学生引用添加到列表中。在您的情况下,学生持有引用,当您将新名称设置到学生对象中时,它将覆盖列表中先前添加的对象。
看下面的代码我在你的代码中添加了一行。尝试一下这个。
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);
}
关于java - 我正在从单例类中获取数据到我的 Activity 列表之一,但在列表中我得到了最后一个值,请任何人都可以帮我整理一下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41995463/