• 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>
    复制代码

    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("星期日");
    1. return items;
    2. }
    3. }
    复制代码
  • 相关阅读:
    UVA 11997 K个最小和
    UVALive 3135阿格斯
    UVA 10635 王子和公主
    UVA11991线性查询
    UVA1339仿射和换位密码
    UVA 10382喷水设施
    LA2965字符串合并
    FatMouse's Speed--hdu1160(dp+输出路径)
    Dividing--hdu1059(动态规划)
    Piggy-Bank--hdu1114(完全背包)
  • 原文地址:https://www.cnblogs.com/shanshan520/p/2380810.html
Copyright © 2020-2023  润新知