Android的UI组件之ListView(一)
2012-08-07 17:24
162 查看
ListView是一个经常用到的控件,ListView里面的每个子项Item可以使一个字符串,也可以是一个组合控件。
创建ListView有两种方式:
1.在定制UI组件的xml文件中直接添加ListView进行创建;
2.创建一个类(Activity)让其继承ListActivity;
使用ListView的难点在于如何为ListView设置其要现实的内容,自己在搜素一些资源的基础上总结了一下,(注:作者也是初学者,有些说法难免有不足,甚至错误之处,还望指正),一下创建ListView的方式都是按照上面提到的第一种方式。
一. 通过ListView的entries属性和ArrayAdapter来在ListView中显示字符数组内容
ListView的entries属性指定一个数组资源,Android将根据该数组资源来生成ListView要现实的内容。
本程序通过设置ListView的entries属性和ArrayAdapter来在两个ListView中显示字符数组内容。
界面布局的xml代码如下:
至于ListView要显示的每个列表的外观形式可通过android.R.layout.simple_list_item_single_choice这项设置 。此程序在第二个ListView中选择的是每个列表的外观形式是:每个列表项都是带多选按钮的文本。ps:貌似一篇文章把所有的写不完,暂且分开写吧。
创建ListView有两种方式:
1.在定制UI组件的xml文件中直接添加ListView进行创建;
2.创建一个类(Activity)让其继承ListActivity;
使用ListView的难点在于如何为ListView设置其要现实的内容,自己在搜素一些资源的基础上总结了一下,(注:作者也是初学者,有些说法难免有不足,甚至错误之处,还望指正),一下创建ListView的方式都是按照上面提到的第一种方式。
一. 通过ListView的entries属性和ArrayAdapter来在ListView中显示字符数组内容
ListView的entries属性指定一个数组资源,Android将根据该数组资源来生成ListView要现实的内容。
本程序通过设置ListView的entries属性和ArrayAdapter来在两个ListView中显示字符数组内容。
界面布局的xml代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <!-- 直接使用数组资源给出列表选项 --> <ListView android:id="@+id/list1" 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" /> </LinearLayout>数组资源array.xml代码如下:
<?xml version="1.0" encoding="UTF-8"?> <resources> <string-array name="books"> <item>C++讲义</item> <item>Java讲义</item> <item>XML讲义</item> <item>C语言</item> <item>VHDL讲义</item> </string-array> </resources>Activity代码如下
package com.example.arrayadapterlist; import android.os.Bundle; public class ArrayAdapterList extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_array_adapter_list); ListView list2=(ListView)findViewById(R.id.list2); //定义一个数组 String[] arr={"数学" , "语文" , "化学"}; //将数组包装到ArrayAdapter ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String> (this, android.R.layout.simple_list_item_single_choice, arr); //为ListView设置Adapter list2.setAdapter(arrayAdapter); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_array_adapter_list, menu); return true; } }运行结果如下:
至于ListView要显示的每个列表的外观形式可通过android.R.layout.simple_list_item_single_choice这项设置 。此程序在第二个ListView中选择的是每个列表的外观形式是:每个列表项都是带多选按钮的文本。ps:貌似一篇文章把所有的写不完,暂且分开写吧。
相关文章推荐
- Android用户界面UI组件--AdapterView及其子类(三) ExpandableListView
- Android用户界面 UI组件--AdapterView及其子类(一) ListView及各种Adapter详解
- Android UI组件----自定义ListView实现动态刷新
- AndroidUI组件之ListView小技巧
- 自学Android之UI组件:(一)ListView功能详解And实战
- Android的UI组件之ListView(三)
- Android-UI组件- RadioButton、CheckBox、 Spinner和ListView
- Android UI组件----ListView列表控件详解
- android-UI组件实例大全(七)------Adapter类One之ListView——转载出处:coder-pig
- Android常见UI组件之ListView(二)——定制ListView
- android-UI组件实例大全(七)------Adapter类One之ListView
- Android常见UI组件之ListView(二)——定制ListView
- android-UI组件实例大全(七)------Adapter类One之ListView
- Android常见UI组件之ListView(一)
- AndroidUI组件之ListView小技巧
- Android用户界面 UI组件--AdapterView及其子类(一) ListView及各种Adapter详解
- Android用户界面 UI组件--AdapterView及其子类(一) ListView及各种Adapter详解
- Android UI组件--ListView(1)
- Android的UI组件之ListView(二)
- Android用户界面UI组件--AdapterView及其子类(三) ExpandableListView