2012-03-25 79 views
0

我在哪里,我从XML提要加载数据,并与不同的活动创造各种选项卡我的主类中定义一个ArrayList如何仅显示哈希表的Arraylist中的某些条目(例如收藏夹)?在这里我把地图进入包含HashMap的ArrayList中的</p> <pre><code>static ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); </code></pre> <p>例:

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:

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”,只显示那些条目的列表视图用于其“收藏”状态是真的。

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

这可能吗?我试过克隆,迭代和谁知道什么,但我一直无法弄清楚......任何建议(有一些小例子)将非常感激!

谢谢!在你ArrayList

迭代,每个HashMap对象叠代其keys像这样在Map匹配最喜爱的作品:

回答

0

如果我明白你的问题正确,你可以做到这一点

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