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

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)定义一个数组来存放ListViewitem的内容(如以上代码中的 ls 集合)。

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

3)通过ListViewsetAdapter()方法绑定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();
		}	
	}
}

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


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




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