android列表组件,Android学习指南之十二:列表组件ListView

Android学习指南上一节中讲的是ProgressBar、SeekBar和RatingBar,本节主要讲讲列表组件ListView。

列表组件是开发中经常用到组件,该组件在使用时需要为它提供适配器,由适配器提供来确定显示样式和显示数据。

下面给大家一个简单的例子:

首先新建一个项目Lesson8_ListViewTest,Activity name是MainListViewTest 。

MainListViewTest.java的代码如下:

Java代码packageandroid.basic.lesson8;

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.widget.AdapterView;

importandroid.widget.AdapterView.OnItemClickListener;

importandroid.widget.AdapterView.OnItemLongClickListener;

importandroid.widget.ArrayAdapter;

importandroid.widget.ListView;

importandroid.widget.TextView;

importandroid.widget.Toast;

publicclassMainListViewTestextendsActivity {

/** Called when the activity is first created. */

@Override

publicvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//找到ListView

ListView lv= (ListView)findViewById(R.id.ListView01);

//定义数组

String[] data ={

"Android开发基础篇 第一讲",

"Android开发基础篇 第二讲",

"Android开发基础篇 第三讲",

"Android开发基础篇 第四讲",

"Android开发基础篇 第五讲",

"Android开发基础篇 第六讲",

"Android开发基础篇 第七讲",

"Android开发基础篇 第八讲",

"Android开发基础篇 第九讲"

};

//为ListView提供数组适配器

lv.setAdapter(newArrayAdapter(this,android.R.layout.simple_list_item_1,data));

//为ListView设置列表项点击监听器

lv.setOnItemClickListener(newOnItemClickListener() {

@Override

publicvoidonItemClick(AdapterView> parent, View view,

intposition,longid) {

Toast.makeText(getApplicationContext(),

"您点击的是:"+((TextView) view).getText(), Toast.LENGTH_SHORT).show();

}

});

//为ListView设置长按监听器

lv.setOnItemLongClickListener(newOnItemLongClickListener(){

@Override

publicbooleanonItemLongClick(AdapterView> parent, View view,

intposition,longid) {

Toast.makeText(getApplicationContext(),

"您长按的是:"+((TextView) view).getText(), Toast.LENGTH_SHORT).show();

returnfalse;

}

});

}

}

其中:

1、android.R.layout.simple_list_item_1 是一个Android系统内置的ListView布局方式;我们可以自定义ListView的布局方式。

2、OnItemClickListener是个接口,用new创建一个接口的做法是不是有点怪?实际上这里是建立了一个匿名类,来满足setOnItemClickListener()方法的参数需求。

3、Toast.makeText().show() 的写法大家可以记一下,可以创造出一个气泡提示效果。

main.xml的代码如下:

XML/HTML代码<?xmlversion ="1.0"encoding="utf-8"?>

运行程序我们看一下效果图如下:

29ffe2ab3b12efe3928d8e7590b0c664.gif

点击其中一个列表项的时候会触发Item的onClick事件,弹出一个气泡提示框。在一个选项上长时间按着也会触发LongClick事件,弹出另一个气泡提示框。

5f273fbd5e5c6211e9c277d3bd6d9cd3.gif

上面的例子用到了系统自带的android.R.layout.simple_list_item_1布局,使用的是在Java代码中的数组做数据源;我们可以再做个例子使用XML做数据源,再使用一下系统自带的android.R.layout.simple_list_item_2布局,看看他们的表现有什么不同。

ListView组件熟悉了以后,可以实现很多种界面效果,而且实现起来简单方便。

2012年7月6日

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值