android ListActivity详解

ListActivity 的默认布局由一个位于屏幕中心的全屏列表构成。如果你不想使用默认的布局,可以在 onCreate() 方法中通过 setContentView() 方法设定你自己的布局。如果指定你自己定制的布局,你的布局中必须包含一个 id "@id/android:list"的ListView 。 若你还指定了一个 id "@id/android:empty"的view ,当 ListView 中没有数据要显示时,这个 view 就会被显示,同时  ListView 会被隐藏。下面代码中有注释,这样更能让我们的明白代码中的含义。

Java代码:
  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="match_parent"
  5. android:layout_height="match_parent" 
  6. android:paddingLeft="8dp"
  7. android:paddingRight="8dp">

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

  9. <TextView 
  10. android:id="@+id/android:title" 
  11. android:layout_width="match_parent"
  12. android:layout_height="wrap_content" 
  13. android:text="The following is a list:" />

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

  15. <ListView 
  16. android:id="@id/android:list" 
  17. android:layout_width="match_parent"
  18. android:layout_height="match_parent" 
  19. android:background="#00FF00"
  20. android:layout_weight="1" 
  21. android:drawSelectorOnTop="false" />

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

  23. <TextView 
  24. android:id="@id/android:empty" 
  25. android:layout_width="match_parent"
  26. android:layout_height="match_parent" 
  27. android:textColor="#FF0000"
  28. android:text="No data" 
  29. android:gravity="center_vertical|center_horizontal" />

  30. </LinearLayout>
复制代码

Java代码:
  1. package EOE.android;

  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import android.app.ListActivity;
  5. import android.os.Bundle;
  6. import android.widget.ArrayAdapter;



  7. public class ListActivityDemo extends ListActivity {

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

  9. @Override
  10. public void onCreate(Bundle savedInstanceState) {

  11. super.onCreate(savedInstanceState);

  12. setContentView(R.layout.main);

  13. List<String> items = fillList();

  14. ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, items);

  15. setListAdapter(adapter);
  16. }


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


  19. items.add("星期一");
  20. items.add("星期二");
  21. items.add("星期三");
  22. items.add("星期四");
  23. items.add("星期五");
  24. items.add("星期六");
  25. items.add("星期日");

  26. //items.clear();

  27. return items;

  28. }

  29. }
复制代码
效果图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值