.Net程序员玩转Android开发--ListView单击事件
程序员文章站
2022-07-09 12:46:58
大家都知道listview用来显示数据列表,每一个列表都有列表项组成,如果我们单击选中一个列表,想获取列表中的详细信息或者打开一个新窗口把列表信息传递过去怎么办那?这一节我们演示一下listview...
大家都知道listview用来显示数据列表,每一个列表都有列表项组成,如果我们单击选中一个列表,想获取列表中的详细信息或者打开一个新窗口把列表信息传递过去怎么办那?这一节我们演示一下listview的单击事件,通过这节我们会对listview有更深入的理解,先看下效果图
下面看下演示代码
主布局文件
列表项布局文件
后台代码
public class listviewclickactivity extends activity { private listview lv; simpleadapter adp;//定义适配器 private list> maplist;//定义数据源 protected void oncreate(bundle savedinstancestate) { // todo auto-generated method stub super.oncreate(savedinstancestate); setcontentview(r.layout.listviewclicklay); lv=(listview)findviewbyid(r.id.listview1); maplist=new arraylist>(); for(int i=0;i<10;i++) { map map=new hashmap(); map.put(code,编码:1000+i); map.put(name,名称:ipad+i); map.put(price,价格:+i); map.put(model,单位:+i); maplist.add(map); } adp=new simpleadapter(listviewclickactivity.this, maplist,r.layout.listdetail, new string[]{code,name,price,model}, new int[]{r.id.tvcode,r.id.tvname,r.id.tvprice,r.id.tvmodel}); lv.setadapter(adp); lv.setonitemclicklistener(new onitemclicklistener() { @override public void onitemclick(adapterview arg0,view arg1, int arg2, long arg3) { textview tname= (textview)arg1.findviewbyid(r.id.tvname);//名称 textview tmodel= (textview)arg1.findviewbyid(r.id.tvmodel);//规格 textview tprice= (textview)arg1.findviewbyid(r.id.tvprice);//单价 textview tcode= (textview)arg1.findviewbyid(r.id.tvcode);//编码 toast.maketext(getapplicationcontext(),当前商品 名称:+tname.gettext()+,编码:+tcode.gettext(),30).show(); } }); } }