列表 ListView

1.使用列表有两种方式:
  • 直接使用ListView进行创建。
  • 让Activity继承ListActivity。
====================================================================================================================================

2.用ListView进行创建:

在xml文件中声明<ListView>元素。它包含一些特殊的属性:

android:divider                                       列表项间的分隔条(颜色或Drawable);

android:dividerHeight                           分隔条的高度;

android:footerDividersEnabled           是否在footer View之前绘制分隔条

android:headerDividersEnabled        是否在header View之前绘制分隔条

android:entries                                      指定用来生成ListView的数组资源

如,在下面的xml文件中,声明了2个ListView。第一个是直接使用数组资源给出列表项;第二个将在activity中使用ArrayAdapter来提供列表项:

<!-- 直接使用数组资源给出列表项 -->
<ListView  
	android:layout_width="fill_parent" 
	android:layout_height="wrap_content" 
	android:entries="@array/books"
	android:divider="@drawable/red"
	android:headerDividersEnabled="false"
	/>
<!-- 使用ArrayAdapter提供列表项的ListView -->
<ListView  
	android:id="@+id/list2"
	android:layout_width="fill_parent" 
	android:layout_height="wrap_content" 
	android:divider="@drawable/green"
	/>

list2需要在代码中使用ArrayAdapter。如:

ListView list2 = (ListView)findViewById(R.id.list2);
//定义一个数组
String[] arr ={"孙悟空" , "猪八戒" , "牛魔王"};
//将数组包装ArrayAdapter
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>
		(this , android.R.layout.simple_list_item_1 , arr);
//为ListView设置Adapter
list2.setAdapter(arrayAdapter);	

ArrayAdapter的第二个属性是textViewResourceId,android提供了以下属性值:

simple_list_item_1:每个列表项都是一个普通的TextView。

simple_list_item_2:每个列表项都是一个普通的TextView(字体略大)。

simple_list_item_checked:每个列表项都是一个已勾选的列表项。

simple_list_item_multiple_choice:每个列表项都是一个带多选框的文本。

simple_list_item_single_choice:每个列表项都是一个带多选按钮的文本.

响应选择事件:

为ListView绑定setOnItemClickListener并实现即可。

====================================================================================================================================

3.基于ListView实现列表:当程序只需要显示一个ListView时,可以直接让Activity继承ListActivity来实现。

ListView的子类无需调用setContentView方法来显示一个界面。,而是直接传入一个内容Adapter,改子类就可呈现一个列表。如:

public class ListActivityTest extends ListActivity
{
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		//设置使用自己的界面布局
		//setContentView(R.layout.main);
		String[] arr = { "孙悟空", "猪八戒", "唐僧" };
		ArrayAdapter<String> adapter = 
			new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice, arr);
		// 设置该窗口显示列表
		setListAdapter(adapter);
	}
}

注意在布局文件中要包含一个ID为"@+id/android:list"的ListView。

响应选择:

    public void onListItemClick(
    ListView parent, View v, int  position, long id)
    {
        Toast.makeText (this,
            “You have selected “ +  presidents[position],
            Toast. LENGTH_SHORT).show();
    }

====================================================================================================================================

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值