【发布时间】:2019-04-08 09:40:18
【问题描述】:
我有一个这样的哈希图;
key value1
key value2
key value3
key value4
key1 value5
key1 value6
key1 value7
key1 value8
key2 value9
... and so on
现在我想把它放在一个包含 四行 的 ListView 中,在 row1 中,我想要:
key value1
key1 value5
key2 value9
key3 value13 and so on till end
在第 2 行,我想要:
key value2
key1 value6
key2 value10
key3 value14 and so on till end
然后第 3 行和第 4 行也一样。总是只有 4 行。
我在迭代这个时遇到了麻烦。这是我写的代码,但它不起作用。
String[] fourrows = hashMap.get("KEY");
for (int i=0;i<fourrows.length;i++) {
HashMap<String, String> listHashMap = new HashMap<>();
listHashMap.put("TA", "ROW VALUE "+fourrows[i]);
for (int j=1;j<hashMap.entrySet().size();j+=4) {
String val = hashMap.values().toArray()[j].toString();
String key = hashMap.get(hashMap.keySet().toArray()[0]).toString();
listHashMap.put("IA", key);
listHashMap.put("XA", val);
incmStmtList.add(listHashMap);
}
}
//Then I pass TA, IA and XA to a simple list adapter and add it to a listView.
incmAdapter = new SimpleAdapter(getContext(), incmStmtList,R.layout.content_results, new String[]{"TA", "IA", "XA"},new int[]{R.id.ta, R.id.ia, R.id.tota});
listView.setVerticalScrollBarEnabled(true);
listView.setAdapter(incmAdapter);
谢谢。
【问题讨论】:
-
没有查看您的代码,但请注意,HashMap 不会保持其插入顺序。您可能想要使用 LinkedHashMap。
-
Map 本身并非设计为具有 index。您不应该期望地图按某种顺序保存项目。
-
ListView 的相关性如何?
-
@BorisvanKatwijk ListView 包含四行 - 每一行在地图中都有一个特定键的特定值...每一行内是一对文本视图,并且应该向每个视图添加多个 IA 和 XA 值.希望澄清。真正的问题是如何做到这一点。
-
@BorisvanKatwijk 我已经编辑了如何将值传递给我的 listView 的问题。谢谢。
标签: java android loops listview hashmap