D.K.的Android旅程--ArrayAdapter和ListActivity实现ListView

来源:互联网 发布:手机淘宝注册店铺步骤 编辑:程序博客网 时间:2024/05/19 11:18

使用适配器ArrayAdapter实现ListView和如何继承ListActivity实现ListView。

       ArrayAdapter是简单易用的Adapter,通常用于将数组或List集合的多个值包装成多个列表项。请看如下代码:

XML布局文件:

       <ListView 

   android:id="@+id/list1"

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

       android:divider="#f00"

       android:dividerHeight="2px"

       android:headerDividersEnabled="false"

       />

Java:

public class ArrayAdapterTest extends Activity

{

       @Override

       protectedvoid onCreate(BundlesavedInstanceState)

       {

              super.onCreate(savedInstanceState);

              setContentView(R.layout.main);

              ListView list1 = (ListView)findViewById(R.id.list1);

              // 定义一个数组

              String[] arr = { "呵呵", "哈哈", "哦哦" };

              // 将数组包装ArrayAdapter

              ArrayAdapter<String> adapter= new ArrayAdapter<String>

                     (this, R.layout.array_item,arr);

              // 为ListView设置Adapter

              list1.setAdapter(adapter);

       }

}

 

其中Java在实例化ArrayAdapter时使用了另一个XML布局文件,如下:

<?xml version="1.0"encoding="utf-8"?>

<TextView

       xmlns:android="http://schemas.android.com/apk/res/android"

       android:id="@+id/TextView"

       android:layout_width="match_parent"

       android:layout_height="wrap_content"

       android:textSize="24dp"

       android:padding="10px"

       android:shadowColor="#f0f"

       android:shadowDx="4"

android:shadowDy="4"

       android:shadowRadius="2"/>

 

       使用ListActivity实现ListView的主要情况是当前窗口仅仅只需要实现一个列表,这样实现起来方便快捷,以下程序也是使用ArrayAdapter实现,只是少了布局文件。

Java:

public class ListActivityTest extends ListActivity

{

       @Override

       publicvoid onCreate(BundlesavedInstanceState)

       {

              super.onCreate(savedInstanceState);

              // 因为继承了ListActivity来实现ListView,所以无需使用布局文件

              String[] arr = { "呵呵", "哈哈", "哦哦" };

              // 创建ArrayAdapter对象

              ArrayAdapter<String> adapter= new ArrayAdapter<String>(this,

                     android.R.layout.simple_list_item_multiple_choice,arr);

              // 设置该窗口显示列表

              setListAdapter(adapter);

       }

}


原创粉丝点击