JSONObject json = new JSONObject(result);
Iterator<?> keys = json.keys();
while( keys.hasNext() ){
key = (String)keys.next();
item = json.getString(key);
mList.add(item);
ItemsHashMap.hmstock.put(key, item);
任何人都可以告诉我如何从这个代码示例中找到密钥,如{17 =普通英语,16 =基础英语}。我想从中获取关键意味着(17)请帮助我...因为这些全部列表视图中显示了18个项目
答案 0 :(得分:1)
尝试
public void onItemClick(AdapterView<?> parent, View view, int
position,
long id) {
String name = mList.get(position);
Iterator itr = ItemsHashMap.hmstock.keySet().iterator();
while (itr.hasNext()) {
String key2 = (String) itr.next();
if (ItemsHashMap.hmstock.get(key2).toString().equals(name) {
keyId = Integer.parseInt(key2);// parsing to int because i am assuming KeyId variable is of int
break;
}
}
Toast.makeText(getBaseContext(), "" + keyId,
Toast.LENGTH_SHORT).show();
// keyId Shows the null Value
}
答案 1 :(得分:0)
修改强>
1)改变
ItemsHashMap.hmstock.put(key, item);
到
ItemsHashMap.hmstock.put(item, key);
2)所以现在你实际上显示的项目在hashmap中它将被存储为“key”。所以每当你点击listview时你都会选择文本作为item..so item成为你地图的关键。
key =娱乐英语; 值= 1;
3)现在传递你的物品以获得它的价值;
if(hashMap.containsKey(item))//here item is key;item=Entertainment English
{
String value=hashMap.get(item);
//so it will return value of this key
//value="1";
}