java - 我正在从单例类中获取数据到我的 Activity 列表之一,但在列表中我得到了最后一个值,请任何人都可以帮我整理一下

标签 java android

代码:

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/

相关文章:

java - maven 中缺少 Artifact com.msg91.sendotp

java - 关于Java ExecutorService newFixedThreadPool的几个问题

安卓 : How to listen MediaPlayer event like music play/stop?

javascript - 在android中实现pdf.js从sd卡读取

java.lang.NoClassDefFoundError : how do I fix this error? 错误

java - 循环内声明的变量是否受单次迭代的范围限制?

java - 如何匹配 `<` 和 `>` 之间除 `/` 之外的所有字符?

jquery - 关闭 Android 应用 Jquery - Phonegap

Android ScrollView 如何在滚动到屏幕顶部时将组件保持在屏幕上?

java - OutputStreamWriter java无法存储到字符串中