如何从HashMap中查找键

时间:2013-07-19 05:36:25

标签: android hashmap

 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个项目

2 个答案:

答案 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";
   }