热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Android学习笔记(二十):回归简单的ListView

在之前连续对ListVew作了逐步深入的探讨,对于手持屏幕来讲,其实可以比较简单,如果别人愿意付钱,不在乎将代码再些一次,这是客户端的开发和复杂服务器的开发不同的地方。当然各人有各人的看法。绝大部分情

在之前连续对ListVew作了逐步深入的探讨,对于手持屏幕来讲,其实可以比较简单,如果别人愿意付钱,不在乎将代码再些一次,这是客户端的开发和复杂服务器的开发不同的地方。当然各人有各人的看法。绝大部分情况下,一个list元素可能左右各有一个widget就差不多,回归简约风格,这也是小尺寸屏幕和手指操作的特点。

在数据的传递,Java里面,具有的Hash是非常重要的,可以方便增/删/改/查,如果我们不使用数据库存储,或者将数据存放在内存中,是最常用的。下面的例子来自于目前网上一个Android教程视频(mars-droid),我们将关注如何将HashMap的数据放入到ListAdapter中。

HashMap数据放入ListAdapter中 

在这个例子中是用户名字和用户IP。

步骤1:建立Android XML文件

一个Android XML,里面含有一个ListView,建立一个Android XML文件,里面描述每个ListView单元的水平布局的Layout,左边是一个TextView,用于存放user_name,右边一个TextView,用于存放user_ip。即分别对应key和vaule。

步骤2:初始化HashMap中的数据

        ArrayList> listdata = new ArrayList>();
        HashMap map1 = new HashMap();
        HashMap map2 = new HashMap();
        ... ...

        map1.put("user_name","张三");
        map1.put("user_ip","192.168.0.1");
        map2.put("user_name","李四");
        map2.put("user_ip","192.168.0.2");
        ... ...
        listdata.add(map1);
        listdata.add(map2);
        ... ...

步骤3:设置ListView的适配器

SimpleAdapter listAdapter = new SimpleAdapter(this, listdata,//第2个参数表示数据来源
                R.layout.list_entry, //对应描述list entry的XML文件
                new String[]{"user_name","user_ip"},  //分别对应HashMap中的user_name,和user_ip的数据
                new int[]{R.id.username,R.id.userip}); //表明上面HaspMap中的user_name以及user_ip数据方便和layout中具体的widget,R.id.username以及R.id.userip对应。
setListAdapter(listAdapter);

这样就可以了,其余的按Android学习笔记(十一):Activity-ListView中最基础的介绍。由于目前硬件水平的发展,包括电池能力的提供,简洁明了的方式,比起那些繁复的处理要好,无须过渡考虑资源问题,我们只需在程序效率和编程艺术中取得平衡。说白了程序好不好,稳定不稳定是软件的头等问题,CPU能力和电源是ODM/OEM厂家头等问题。

ListAdapter:CursorAdapter

一般来讲,我们可以使用ArrayAdapter来适用很多情况,还有其他的Adapter,使用方式类似,但是CursorAdapter有些不一样,通过newView()和bindView(),如果没有创建,使用newView(),然后调用bindView(),如果已经创建,使用bindView()。

相关链接:我的Andriod开发相关文章

 


推荐阅读
author-avatar
keleisibuo
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有