如何从android listview获取值?

如何从android listview获取值?,android,android-layout,Android,Android Layout,您好,这是我的代码,我想访问我放在列表项maplist中的键\u ID,单击变量。。 请帮我怎么做 ArrayList (HashMap) (String, String) mapList = new ArrayList(HashMap(String, String)) (); XMLParser parser = new XMLParser(); Document doc = parser.getDomElement(xml); // getting DOM element

您好,这是我的代码,我想访问我放在列表项maplist中的
键\u 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();
            }

        }
    });
}
ArrayList(HashMap)(String,String)mapList=newarraylist(HashMap(String,String))();
XMLParser=新的XMLParser();
Document doc=parser.getdoElement(xml);
//获取DOM元素
NodeList nl=doc.getElementsByTagName(密钥路由);
//循环通过所有歌曲节点
对于(int i=0;ivalue
put(KEY_ID,parser.getValue(e,KEY_ID));
map.put(KEY_SchoolName,parser.getValue(e,KEY_SchoolName));
put(KEY_ChildrenName,parser.getValue(e,KEY_ChildrenName));
map.put(KEY_-AlertTime,parser.getValue(e,KEY_-AlertTime));
put(KEY_RouteName,parser.getValue(e,KEY_RouteName));
put(KEY_通知,parser.getValue(e,KEY_通知));
put(KEY_StopName,parser.getValue(e,KEY_StopName));
//将哈希列表添加到ArrayList
地图列表。添加(地图);
}
list=(ListView)findViewById(R.id.list);
//通过传递xml数据ArrayList获取适配器
adapter=新LazyAdapter(此,映射列表);
list.setAdapter(适配器);
//单击单个列表行的事件
list.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
int idw=位置;
长logss=id;
//在那里,我想访问密钥ID。。
}捕获(例外e){
e、 printStackTrace();
progressDialog.disclose();
}
}
});
}

在您的onItemClick方法中,您需要从特定位置从mapList对象中取出HaspMap:

HashMap-map=mapList.get(位置);
//然后从“映射”对象中读取值

使用此代码获取所选列表项的位置

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);

        }
    });
ListView lv1=(ListView)findViewById(R.id.ListView01);
lv1.setOnItemClickListener(新的OnItemClickListener(){
公共视图单击(适配器视图a、视图v、内部位置、长id){
对象o=lv1.getItemAtPosition(位置);
}
});

但我已将最终结果放在顶部地图列表之前。这并不重要,因为您正在读取值,而不是分配给它
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);

        }
    });