【问题标题】:Android Listview displays last element in the ArrayListAndroid Listview 显示 ArrayList 中的最后一个元素
【发布时间】:2012-05-19 11:47:29
【问题描述】:

您好,我的代码只显示了 ArrayList 的最后一个元素! 这是我的代码:

    ListView list = (ListView) findViewById(R.id.t1player_statsList);

    ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();

    HashMap<String, String> map = new HashMap<String, String>();

    for(Player player : team1.getPlayers())
        map.put("player", player.getName()); 
        map.put("score", "0");
        mylist.add(map);


    SimpleAdapter mSchedule = new SimpleAdapter(this, mylist, R.layout.mylistrow,
                new String[] {"player", "score"}, new int[] {R.id.NameCell, R.id.ScoreCell});
    list.setAdapter(mSchedule);

我觉得这与我的 for 循环有关。有人可以帮忙!!提前致谢!

【问题讨论】:

    标签: java android arraylist android-listview


    【解决方案1】:

    您只创建了一个 Hashmap 实例,它一次又一次地覆盖所有值,最后一个值仍然存在。因此,在 for 循环中创建一个新实例。

        HashMap<String, String> map;
    
        for(Player player : team1.getPlayers()){
            map = new HashMap<String, String>();
            map.put("player", player.getName()); 
            map.put("score", "0");
            mylist.add(map);
         }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-13
      • 2019-01-30
      • 1970-01-01
      相关资源
      最近更新 更多