如何从android listview获取值?
您好,这是我的代码,我想访问我放在列表项maplist中的如何从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
键\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);
}
});