android中 ListActivity讲解

ListActivity的默认布局由一个位于屏幕中心的全屏列表构成。如果你不想使用默认的布局,可以在onCreate()方法中通过setContentView()方法设定你自己的布局。

如果指定你自己定制的布局,你的布局中必须包含一个id"@id/android:list"的ListView。 若你还指定了一个id"@id/android:empty"的view,当ListView中没有数据要显示时,

这个view就会被显示,同时 ListView会被隐藏。下面代码中有注释,这样更能让我们的明白代码中的含义。

 

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

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="8dp"
    android:paddingRight="8dp">

    <!-- 除了ListView和id为@id/android:empty的view之外,我们还可以任意添加view -->

    <TextView
    android:id="@+id/android:title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="The following is a list:" />

    <!-- id为@id/android:list的ListView为客户化的list布局,如果没有,则系统会调用默认的布局 -->

    <ListView
    android:id="@id/android:list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#00FF00"
    android:layout_weight="1"
    android:drawSelectorOnTop="false" />

    <!-- 当ListView中没有数据时,id为@id/android:empty的view就会显示出来 -->

    <TextView
    android:id="@id/android:empty"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:textColor="#FF0000"
    android:text="No data"
    android:gravity="center_vertical|center_horizontal" />

    </LinearLayout>

 

java主程代码

    package EOE.android;

    import java.util.ArrayList;
    import java.util.List;
    import android.app.ListActivity;
    import android.os.Bundle;
    import android.widget.ArrayAdapter;



    public class ListActivityDemo extends ListActivity {

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

    @Override
    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);
    List<String> items = fillList();
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, items);
    setListAdapter(adapter);
    }


    private List<String> fillList() {
    List<String> items = new ArrayList<String>();

    items.add("星期一");
    items.add("星期二");
    items.add("星期三");
    items.add("星期四");
    items.add("星期五");
    items.add("星期六");
    items.add("星期日");

    //items.clear();
    return items;

    }
    }

 

显示的结果为:

posted @ 2014-06-09 10:49  无名盗闪  阅读(138)  评论(0)    收藏  举报