3
 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=Common English,16=Basic english}。我想从中获得唯一的密钥手段(17)请帮助我...因为这 18 个项目都显示在列表视图中

4

2 回答 2

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
         }
于 2013-07-19T06:40:50.140 回答
0

编辑

1)改变

ItemsHashMap.hmstock.put(key, item);

ItemsHashMap.hmstock.put(item, key);

2)所以现在你实际上是在哈希图中显示项目,它将被存储为“键”。所以每当你点击列表视图时,你都会将选定的文本作为项目。所以项目成为地图的关键。

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";
   }
于 2013-07-19T06:03:31.790 回答