Android开发系列(十四):ListView用法、对ListView监听的三种方法以及ListView中Adapter的使用方法

一、ArrayAdapter的介绍以及ListView的用法:

Adapter是数据和视图之间的桥梁,数据在adapter中做处理,然后显示到视图上面。就是用来绑定数据用的。

用一个小例子来介绍一下:

public class FriendActivity extends Activity {

	private ListView listView;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		//我们设置一个List集合,然后向里边添加几条数据
		List<String> ls = new ArrayList<String>();
		ls.add("张三");
		ls.add("李四");
		ls.add("王五");

		//获取xml文件中listView控件
		listView = (ListView)findViewById(R.id.ayyay_list_list);
		//然后为listView控件调用setAdapter方法,让数据显示在界面上。
		listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,ls));
	}

使用步骤。

(1)定义一个数组来存放ListView中item的内容(如以上代码中的
ls 集合)。

(2)通过实现ArrayAdapter的构造函数来创建一个ArrayAdapter的对象。

(3)通过ListView的setAdapter()方法绑定ArrayAdapter。

其中第二步有必要说一下的是,ArrayAdapter有多个构造函数,例子中实现的是最常用的一种。

第一个参数为上下文对象,直接可以用this来代替。

第二个参数为一个包含TextView,用来填充ListView的每一行的布局资源ID(在以上代码中的:android.R.layout.simple_list_item_1是系统自带的格式,直接拿来调用了)。

第三个参数为ListView的内容。

二、对ListView对象进行监听:

常用的对ListView对象监听的有三个:

1.OnItemClickListener :监听器在点击该项目的子项时触发

2.OnTouchListener:监听器在触碰到ListView时触发

3.OnScrollListener:监听器在ListView滚动时触发

(1)、OnItemClickListener

public class FriendActivity extends Activity {

	private ListView listView;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		//我们设置一个List集合,然后向里边添加几条数据
		List<String> ls = new ArrayList<String>();
		ls.add("张三");
		ls.add("李四");
		ls.add("王五");

		//获取xml文件中listView控件
		listView = (ListView)findViewById(R.id.ayyay_list_list);
		//然后为listView控件调用setAdapter方法,让数据显示在界面上。
		listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,ls));

		//为listView对象进行监听:当点击子项目的时候触发
		listView.setOnItemClickListener(new ItemClickEvent());
	}

	//继承OnItemClickListener,当子项目被点击的时候触发
	private final class ItemClickEvent implements OnItemClickListener{
		@Override
		//这里需要注意的是第三个参数arg2,这是代表单击第几个选项
		public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
				long arg3) {
			//通过单击事件,获得单击选项的内容
			String text = listView.getItemAtPosition(arg2)+"";
			//通过吐丝对象显示出来。
			Toast.makeText(getApplicationContext(), text, 1).show();
		}
	}
}

可以看到,当单击第二项李四,下边会用吐丝对象显示一个李四

先写到这里,上完课回来写= =

时间: 2024-10-20 07:28:23

Android开发系列(十四):ListView用法、对ListView监听的三种方法以及ListView中Adapter的使用方法的相关文章

S3C2416裸机开发系列十四_GCC下UCGUI的移植(2)

S3C2416裸机开发系列十四 GCC下UCGUI的移植(2) 象棋小子    1048272975 现在主要讲解一下在GCC移植UCGUI,Makefile工程如何加入目录,加入源码,c标准库,编译选项的设置. 笔者的Makefile模板提取自uboot,工程中加入目录,加入源码都是很简单的,详细的介绍请参考前面章节" GCC启动代码工程应用实例".下面主要介绍UCGUI目录下很多的源码文件Makefile的编写,一种可行的方式就是把GUI目录上所有的c文件,不管有无用到,均加入工程

S3C2416裸机开发系列十四_GCC下UCGUI的移植(1)

S3C2416裸机开发系列十四 GCC下UCGUI的移植(1) 象棋小子    1048272975 GUI(图形用户界面)极大地方便了非专业用户的使用,用户无需记忆大量的命令,取而代之的是可以通过窗口.菜单.按键等方式进行操作.在某些场合,设计一款人机界面丰富友好的嵌入式产品能赢得更多的用户.笔者此处就s3c2416基于UCGUI图形用户界面的使用作一个简单的介绍. 1. 代码准备 UCGUI 3.98源码,这个版本的UCGUI是开放源码的最高版本,之后版本只提供库文件,不再开源.笔者以UCG

Android增加监听的三种实现方式

在Android中,为一个按钮增加监听的方式有三种 1.匿名内部类 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //加载布局文件 setContentView(R.layout.activity_main); //获得布局中的按钮 btn = (Button) findViewById(R.id.btn); //为按钮增加匿名内部类监听 btn

Android开发(十四)——SimpleAdapter与自定义控件

ListView中可以使用SimpleAdapter进行数据与视图的绑定,但都是对已有的系统控件的绑定,如果自定义空间直接使用SimpleAdapter绑定,则会报错. 如,使用CircleImageView圆形头像,直接不能绑定需要重新SimpleAdapter方法. eg:android ListView 重写 SimpleAdapter 显示图片 异步加载及文字处理 simpleAdapter=new SimpleAdapter(context, mData, R.layout.goods

Android开发系列(四):如何对应用进行单元测试

在开发一个应用的过程中,必不可少要进行对应的单元测试. 接下来我们编写一个简单的Android应用程序来完成基础的单元测试 首先,我们需要建立一个Android Project项目,命名为junit. 然后,建立一个服务类,就是需要被测试的类PersonService.java: package cn.itcast.service; public class PersonService { public void save(String username){ String sub = usern

Android开发系列(五):Android应用中文件的保存与读取

在本篇博客中,我们要实现在Android中"新建文件"和"读取文件": 目标界面: 在输入文件名称之后,输入文件内容,点击保存,可以保存成为一个文档 首先,我们先建立一个Android Project项目,项目名称:File. 然后,我们需要先实现目标视图中的界面: 编辑strings.xml文件: <?xml version="1.0" encoding="utf-8"?> <resources> &

C#程序员学习Android开发系列之ListView

上篇博客解决了Android客户端通过WebService与服务器端程序进行交互的问题,这篇博客重点关注两个问题,一个是Android应用程序如何与本机文件型数据库SQLite进行交互,另一问题则是如何在ListView中按照我们想要的界面效果进行展示.限于篇幅这篇重点讲ListView,下篇博客重点阐述SQLite. ListView是一个常用的数据显示控件,假设我们要做一个简单的界面,如图所示. 这张图是我直接从Android平板电脑(Android 4.2.2)上面截图下来的,就是一个普通

快速Android开发系列网络篇之Android-Async-Http

快速Android开发系列网络篇之Android-Async-Http 转:http://www.cnblogs.com/angeldevil/p/3729808.html 先来看一下最基本的用法 AsyncHttpClient client = new AsyncHttpClient(); client.get("http://www.google.com", new AsyncHttpResponseHandler() { @Override public void onSucce

快速Android开发系列网络篇之Retrofit

Retrofit是一个不错的网络请求库,用官方自己的介绍就是: A type-safe REST client for Android and Java 看官网的介绍用起来很省事,不过如果不了解它是怎么实现的也不太敢用,不然出问题了就不知道怎么办了.这几天比较闲就下下来看了一下,了解一下大概实现方法,细节就不追究了.先来看一个官网的例子,详细说明去网官看 简单示例 首先定义请求接口,即程序中都需要什么请求操作 public interface GitHubService { @GET("/use