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对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。
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"));
}
});
列表的显示需要三个元素:
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"));
}
});
相关文章推荐
- Android Service与IntentService的区别
- Android五个进程等级
- Android开发开始--环境搭建
- [Cordova] Plugin里使用Android Library
- Android 隐藏软件盘
- android kill 进程名
- 简单介绍Android开发中的Activity控件的基本概念
- 【转载】Android Monkey 命令行可用的全部选项
- android实现沉浸式之systembartintmanager
- Android App开发常用专题开源代码
- Android - Activity的onStart()和onResume()
- 让多个Fragment 切换时不重新实例化
- android 广播更新界面
- Android 关于Scrollview和listview嵌套以及下拉刷新问题(附源码)
- 如何把函数写短
- android多渠道打包工具
- Android Studio之导入Project(项目)
- 简单讲解Android开发中触摸和点击事件的相关编程方法
- Android第三方开源对话消息提示框:SweetAlertDialog(sweet-alert-dialog)
- Android事件分发机制浅析