ListActivity

ListActivity是一个专门显示ListView的Activity类,它内置了一个ListView对象,只要我们设置了数据源,就会自动地显示出来。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //使用内置的布局
    //setContentView(R.layout.activity_main);
    ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new String[] {"测试数据0","测试数据1","测试数据3"});        
    setListAdapter(adapter);
        
}

运行结果为:

image

我们同样可以使用自定义布局,但是有一个要求,布局内必须包含一个ListView控件,且该控件的id必须为@android:id/list

<ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

 <TextView
        android:id="@id/android:empty"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="No data" />

可通过getListView();方法获取该ListView对象

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ListView listView;
    //当然也可通过下面这个id获取到ListView对象
    // listView=(ListView) findViewById(android.R.id.list);
    listView = getListView();
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, new String[] { "测试数据0",
                    "测试数据1", "测试数据3" });
    listView.setAdapter(adapter);

}

运行结果和上面一样

 

ListActivity内还内置了一个id为android:empty的TextView对象,作用是当ListView没有数据时会显示该TextView

posted on 2013-01-02 21:30  @与非  阅读(328)  评论(0编辑  收藏  举报