您的位置:首页 > 移动开发 > Android开发

Android ListView代码笔记

2015-12-01 15:38 429 查看
初涉android 记录一下listView 它似乎类似与IOS tableView的用法

 列表的显示需要三个元素:

1.ListVeiw 用来展示列表的View。

2.适配器 用来把数据映射到ListView上的中介。

3.数据    具体的将被映射的字符串,图片,或者基本组件。

根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter

其中以ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各种效果。SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。

listView.setAdapter(
new
 
ArrayAdapter<String>(
this
,
android.R.layout.simple_expandable_list_item_1,getData()));


android.R.layout.simple_list_item_1是系统定义好的布局文件只显示一行文字

(TableView的模式样式也有简单的只显示一个label 或者 左右两个label 或者 2个label+1 imageView的固定style)



SimpleAdapter

simpleAdapter的扩展性最好,可以定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)等等。下面的代码都直接继承了ListActivity,ListActivity和普通的Activity没有太大的差别,不同就是对显示ListView做了许多优化,方面显示而已。

下面的程序是实现一个带有图片的类表。
(相当于tableView的自定义cell 需要自己创建一个xml的布局)

实现文件:


使用simpleAdapter的数据用一般都是HashMap构成的List,list的每一节对应ListView的每一行。HashMap的每个键值数据映射到布局文件中对应id的组件上。因为系统没有对应的布局文件可用,我们可以自己定义一个布局vlist.xml。下面做适配,new一个SimpleAdapter参数一次是:this,布局文件(vlist.xml),HashMap的
title 和 info,img。布局文件的组件id,title,info,img。布局文件的各组件分别映射到HashMap的各元素上,完成适配。

选中事件:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override

    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

        HashMap map = (HashMap)listView.getItemAtPosition(position);

        TextView textView = (TextView) findViewById(R.id.userName);

        textView.setText("selected:"+map.get("title"));

    }

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: