如何仅显示Hashmaps的Arraylist中的某些条目(例如收藏夹)?
我在我的主类中定义了一个ArrayList,在这里我从XML提要加载数据并创建具有不同活动的各种选项卡:如何仅显示Hashmaps的Arraylist中的某些条目(例如收藏夹)?,arraylist,hashmap,partial-views,subset,Arraylist,Hashmap,Partial Views,Subset,我在我的主类中定义了一个ArrayList,在这里我从XML提要加载数据并创建具有不同活动的各种选项卡: static ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); 我被困的地方如下 我有另一个选项卡“收藏夹”,在我的收藏夹活动中,我只想显示mylist中“收藏夹”状态为TRUE的条目的列表视图 换句话说,根据列表中每个条
static ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
我被困的地方如下
我有另一个选项卡“收藏夹”,在我的收藏夹活动中,我只想显示mylist中“收藏夹”状态为TRUE的条目的列表视图
换句话说,根据列表中每个条目的特定条件显示mylist的子集
这可能吗?我尝试过克隆,迭代,谁知道是什么,但我一直没能弄明白。。。任何带有一些小例子的建议都将不胜感激
谢谢大家! 如果我正确理解了你的问题,你可以这样做: 迭代ArrayList,对于每个HashMap对象,按如下方式迭代其键以匹配Map中的常用项:
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);
}
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);
for (Map map : myList) {
for (String key : map.keySet()) {
If("favourite".equals(key)) {
// ...
}
}
}