【发布时间】:2014-04-29 22:23:56
【问题描述】:
我有一个填充 listView 的代码:
JSONArray data = responseData.getJSONArray("data");
String[] values = new String[data.length()];//I wanna get rid of this
LinkedHashMap<String, String> helpData = new LinkedHashMap();
for (int i = 0; i < data.length() ; i++) {
String header = data.getJSONObject(i).getString("glossary_header");
String description = data.getJSONObject(i).getString("gloassary_description");
helpData.put(header, description);
values[i] = header;
Log.d("mylog", "counter" + i);
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
我想将密钥传递给Arrayadapter,我希望找到一个getKeys() 方法,它可以神奇地从映射中返回一个密钥数组。
KeySet() 已关闭但不起作用,正确的方法是什么。我不想使用字符串数组。我想将我的配对值放在一起。
【问题讨论】:
-
“keySet() 不起作用”是什么意思?这是正确的做法。它在哪些方面不适合您的目的?
-
@DavidWallace 编译器抱怨这个集合,arrayAdapter 想要一个数组来代替
-
是否可以将集合的内容复制到数组中?
-
您可以使用 for-each 循环,例如
for(String key: yourLinkedHashMap.keySet()){ System.out.println(key); }
标签: java android json linkedhashmap