Android ListActivity 详解

分享到:

ListActivity的默认布局由一个位于屏幕中心的全屏列表构成。

如果你不想使用默认的布局,可以在onCreate()方法中通过setContentView()方法设定你自己的布局。

如果指定你自己定制的布局,你的布局中必须包含一个id"@id/android:list"的ListView。 若你还指定了一个id"@id/android:empty"的view,当ListView中没有数据要显示时,这个view就会被显示,同时 ListView会被隐藏。下面代码中有注释,这样更能让我们的明白代码中的含义。

 

在ListActivity 里边不用注册监听器,而是直接重写onListItemClick就可以对单击ListView的事件进行处理。onListItemClick()是一个回调函数,有Android函数负责调用

 

 

 


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>
昵    称:
验证码:

相关文档: