ListView的SimpleAdapter详解-创新互联
ListView的两个职责:1、将数据添加到布局中;2、响应用户的选择点击操作
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了东丽免费建站欢迎大家使用!点击任一选项时
响应用户的点击操作改变标题栏显示
源代码ListViewSimpleAdtActivity.java
public class ListViewSimpleAdtActivity extends Activity { // private Listdata = new ArrayList (); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listv_sa); //获得Layout里面的ListView ListView list = (ListView) findViewById(R.id.ListView01); //生成适配器的Item和动态数组对应的元素 SimpleAdapter listItemAdapter = new SimpleAdapter( this, getData(), R.layout.listitem, new String[]{"img","title","info"}, new int[]{R.id.img,R.id.title,R.id.info}); //添加并且显示 list.setAdapter(listItemAdapter); //添加单击监听 list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView> arg0, View arg1, int arg2, long arg3) { Map clkmap = (Map ) arg0.getItemAtPosition(arg2); setTitle(clkmap.get("title").toString()+"的网址为:"+clkmap.get("info").toString()); } }); } //生成多维动态数组,并加入数据 private List
配置文件listitem.xml
listv_sa.xml
SimpleAdapter构造函数为:
public SimpleAdapter (Context context, List extends Map> data, int resource, String[] from, int[] to)
重点介绍SimpleAdapter各参数的含义:
第一个context,上下文,SimpleAdapter所要运行关联到的视图,就是你这个SimpleAdapter所在的Activity(一般而言),所以这个参数一般是“前Activity的名字.this”
第二个是一个泛型只要是一个List就行,这一般会想到是ArrayList,而他内部存储的则是Map或者继承自Map的对象,比如HashMap,这里是作为数据源,而且每一个ArraList中的一行就代表着呈现出来的一行,Map的键就是这一行的列名,值也是有列名的。
第三个资源文件,就是说要加载这个两列所需要的视图资源文件,一般在Layout建立相应的.xml文件,你可以左边一个TextView右边一个TextView,目的在于呈现左右两列的值!
第四个参数是一个String数组,主要是将Map对象中的名称映射到列名,一一对应
第五个是将第四个参数的值一一对象的显示(一一对应)在接下来的int形的id数组中,这个id数组就是layout的xml文件中命名id形成的唯一的int型标识符
这样也就达到了数据的列表呈现!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享标题:ListView的SimpleAdapter详解-创新互联
文章源于:http://hbruida.cn/article/diddhj.html