1

こんにちは、これは私のコードKEY_IDです。変数のリスト項目をクリックしてマップリストに入れたコードにアクセスしたいと思います。どうすればこれを行うことができるか教えてください。

ArrayList (HashMap)  (String, String) mapList = new ArrayList(HashMap(String, String)) ();
    XMLParser parser = new XMLParser();
    Document doc = parser.getDomElement(xml); 
// getting DOM element
    NodeList nl = doc.getElementsByTagName(KEY_Route);

    // looping through all song nodes <song>
    for (int i = 0; i < nl.getLength(); i++) {
        // creating new HashMap
        HashMap<String, String> map = new HashMap<String, String>();

        Element e = (Element) nl.item(i);

        // adding each child node to HashMap key => value

        map.put(KEY_ID, parser.getValue(e, KEY_ID));
        map.put(KEY_SchoolName, parser.getValue(e, KEY_SchoolName));
        map.put(KEY_ChildrenName, parser.getValue(e, KEY_ChildrenName));
        map.put(KEY_AlertTime, parser.getValue(e, KEY_AlertTime));
        map.put(KEY_RouteName, parser.getValue(e, KEY_RouteName));
        map.put(KEY_Notification, parser.getValue(e, KEY_Notification));
        map.put(KEY_StopName, parser.getValue(e, KEY_StopName));
        // adding HashList to ArrayList
        mapList.add(map);
    }

    list = (ListView) findViewById(R.id.list);

    // Getting adapter by passing xml data ArrayList
    adapter = new LazyAdapter(this, mapList);
    list.setAdapter(adapter);

    // Click event for single list row
    list.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            int idw = position;
            long logss = id;

// There i want to access the KEY_ID..              

            } catch (Exception e) {
                e.printStackTrace();
                progressDialog.dismiss();
            }

        }
    });
}
4

2 に答える 2

1

このコードを使用して、選択したリスト項目の位置を取得します。

ListView lv1 = (ListView) findViewById(R.id.ListView01); 

     lv1.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> a, View v, int position, long id) {

             Object o = lv1.getItemAtPosition(position);

        }
    });
于 2012-04-12T03:59:50.090 に答える
1

onItemClickメソッドでは、特定の位置からmapListオブジェクトからHaspMapを取得する必要があります。

HashMap<String, String> map = mapList.get(position);

//and then read values out from 'map' object
于 2012-04-10T12:00:47.267 に答える