【问题标题】:How to display only certain entries (e.g. Favourites) from an Arraylist of Hashmaps?如何仅显示 Hashmaps Arraylist 中的某些条目(例如收藏夹)?
【发布时间】:2012-03-25 15:32:42
【问题描述】:

我在我的主类中定义了一个 ArrayList,我从 XML 提要加载数据并创建具有不同活动的各种选项卡:

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

我将地图条目放入 HashMaps 的 ArrayList 的示例:

for (int i = 0; i < 10; i++) {      
  HashMap<String, String> map = new HashMap<String, String>();  
  Element e = (Element)nodes.item(i);
  map.put("id", XMLfunctions.getValue(e, "id"));
  map.put("lat", "Lat: " + XMLfunctions.getValue(e, "lat"));
  map.put("long", "Long: " + XMLfunctions.getValue(e, "long"));
  map.put("favourite", [lookup of true/false favourite status and insert here]);
  mylist.add(map);
}

第一个选项卡是 ListViewActivity,我可以通过引用主类中的 ArrayList 成功创建列表:class.mylist via a List Adapter:

ListAdapter adapter = new SimpleAdapter(
                      ListViewActivity.this,
                      main.mylist, R.layout.list,
                      new String[] { "id", "lat", "long" }, 
                      new int[] { R.id.item_id, R.id.item_lat, R.id.item_long });                   
setListAdapter(adapter);

我被卡住的地方是以下......

我有另一个选项卡“收藏夹”,在我的 FavouriteActivity 中,我想仅显示“mylist”中“收藏夹”状态为 TRUE 的条目的列表视图。

换句话说,根据列表中每个条目的特定条件显示 mylist 的子集。

这可能吗?我已经尝试过克隆、迭代和谁知道是什么,但我无法弄清楚......任何建议(带有一些小例子)将不胜感激!

谢谢!

【问题讨论】:

    标签: arraylist hashmap partial-views subset


    【解决方案1】:

    如果我正确理解了您的问题,您可以这样做:

    遍历您的ArrayList,对于每个HashMap 对象,像这样遍历其keys 以匹配Map 中的收藏条目:

    for (Map map : myList) {
        for (String key : map.keySet()) {
             If("favourite".equals(key)) {
                  // ...
              }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-06
      • 2014-06-10
      相关资源
      最近更新 更多