我有一个填充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()
已关闭但无法正常工作,这样做的正确方法是什么。我不想使用字符串数组。我想把我的配对价值放在一起。
答案 0 :(得分:1)
你可以这样做
Collection<String> values = helpData.keySet();
for (String string : values) {
//
}
答案 1 :(得分:0)
for (final String key : helpData.keySet()) {
// print data...
}
或
final Iterator<String> cursor = helpData.keySet().iterator();
while (cursor.hasNext()) {
final String key = cursor.next();
// Print data
}
答案 2 :(得分:0)
Set<String> keys = myArray.keySet();
String[] keysAsArray = keys.toArray(new String[0]);
有关toArray
方法的更多详情,请访问http://docs.oracle.com/javase/7/docs/api/java/util/Set.html#toArray(T[])