官网解释:
a view that shows items in a verically list,The items come from the ListAdapter associated with this view.
创建listview有两种方式:
1.直接使用ListView进行创建(一:可以用数组,二:调用vlaues里面预先设置好的)
2.让activity集成listactivity
一旦程序中获得了ListView之后,接下来就需要为ListView设置他要显示的列表了, (需要提供一个显示的列表项),就需要借助于内容Adapter了,内容Adapter负责提供需要显示的列表项。
XML属性
android:choiceMode 设置listview的选择行为
android:divider 设置list列表项的分割条(既可以用颜色分割,也可以用Drawable分割)
android:dividerHeight 设置分割条的高度
android:entries 制定一个数组资源,android根据数组资源生成ListView
android:footerDividersEnabled 设置为false,则不再footer view之前绘制分隔条
android:headerDividersEnabled 如果设为false,则不再header view 后绘制分隔符
1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent"
6 >
7 <TextView
8 android:layout_width="fill_parent"
9 android:layout_height="wrap_content"
10 android:text="@string/hello"
11 />
12 <!-- 直接使用数组资源给出列表项 -->
13 <ListView
14 android:layout_width="fill_parent"
15 android:layout_height="wrap_content"
16 android:entries="@array/books"
17 android:divider="@drawable/red"
18 />
19 <!-- 使用Adapter提供列表项的ListView、 -->
20 <ListView
21 android:id="@+id/listview2"
22 android:layout_width="fill_parent"
23 android:layout_height="wrap_content"
24 android:divider="@drawable/green"
25 />
26 </LinearLayout>
java代码如下:
1 package com.wbk.listview;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.widget.ArrayAdapter;
6 import android.widget.ListView;
7
8 public class ListviewActivity extends Activity {
9 /** Called when the activity is first created. */
10 @Override
11 public void onCreate(Bundle savedInstanceState) {
12 super.onCreate(savedInstanceState);
13 setContentView(R.layout.main);
14 ListView list2 = (ListView) findViewById(R.id.listview2);
15 // 定义一个数组
16 String[] arr = { "item1 ", "item2", "item3" };
17
18 // 将数组包装arrayadapter
19
20 ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,
21 android.R.layout.simple_list_item_1, arr);
22 list2.setAdapter(arrayAdapter);
23 }
24 }
还有一个values如下:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <resources>
3 <string-array name="books">
4 <item>1</item>
5 <item>2</item>
6 <item>3</item>
7 <item>4</item>
8 </string-array>
9 </resources>
分析:以上采用了两种方法实现了listview,
第一种是在values下新建一个xml文件,在xml文件中设置,listview设置所显示的值,然后在布局文件下调用books
(android:entries="@array/books")
第二种方法是:在java里面findlistview,通过ArrayAdapter决定ListView显示的组件,
运行程序结果如下: