用到ListActivity中 , @+id/android:list"和"@android:id/list"的写法
2015-07-10 10:57
423 查看
Android中的列表,当然也可以用ListView来完成所需要的功能,用法是一样的。
废话不说,来关键的。
ListActivity本身继承了关于List操作的众多接口,我们可以方便的重写这些操作中需要的方法来实现自己需要的功能。
如果要用ListActivity,则 Activity的Layout文件中必须包括一个(只能一个)ListView,且ListView的id= "@id/android:list"。
如下代码,一个标准的ListActivity Layout文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="8dp"
android:paddingRight="8dp">
<ListView android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#00FF00"
android:layout_weight="1"
android:drawSelectorOnTop="false"/>
<TextView id="@id/android:empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FF0000"
android:text="No data"/>
</LinearLayout>
请注意 ListView与TextView的id。前面说了,
1. ListView的Id为固定不变的,为"@id/android:list“,ListActivity会根据id自动查找ListView引用;在 Activity 中使用 setListAdapter(adapter); 时就默认设置到了这个list上。如果按一般控件的写法
<ListView android:id="@+id/myListView" …… />,则需要 findViewById 先得到控件对像,再调用对像的 setListAdapter(adapter);
2. 但如果当ListView中没有值而又想提示一句话时,那么用于指定显示提示信息的TextView的id 必须为”"@id/android:empty",提示的信息可以通过android:text进行指定。
ps:以上细节一定要注意,否则会报错.
废话不说,来关键的。
ListActivity本身继承了关于List操作的众多接口,我们可以方便的重写这些操作中需要的方法来实现自己需要的功能。
如果要用ListActivity,则 Activity的Layout文件中必须包括一个(只能一个)ListView,且ListView的id= "@id/android:list"。
如下代码,一个标准的ListActivity Layout文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="8dp"
android:paddingRight="8dp">
<ListView android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#00FF00"
android:layout_weight="1"
android:drawSelectorOnTop="false"/>
<TextView id="@id/android:empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FF0000"
android:text="No data"/>
</LinearLayout>
请注意 ListView与TextView的id。前面说了,
1. ListView的Id为固定不变的,为"@id/android:list“,ListActivity会根据id自动查找ListView引用;在 Activity 中使用 setListAdapter(adapter); 时就默认设置到了这个list上。如果按一般控件的写法
<ListView android:id="@+id/myListView" …… />,则需要 findViewById 先得到控件对像,再调用对像的 setListAdapter(adapter);
2. 但如果当ListView中没有值而又想提示一句话时,那么用于指定显示提示信息的TextView的id 必须为”"@id/android:empty",提示的信息可以通过android:text进行指定。
ps:以上细节一定要注意,否则会报错.
相关文章推荐
- 自定义android dialog
- Android中的类装载器DexClassLoader
- Android Dialog使用举例
- Android技术规范
- android基于类装载器DexClassloader设计“插件框架”
- Android 内存泄露与优化,以及MAT工具
- android Activity跳转到指定的Fragment
- Android 相关的资源
- Android学习之XML数据的三种解析方式以及生成XML文件
- Android反编译(操作简单、方便可用)
- android程序点返回键无反应
- Android USB Host与HID通讯
- 加速Android Studio/Gradle构建
- 转载:Android 如何解决dialog弹出时无法捕捉Activity的back事件
- Android Robtium ActivityUtils
- Android 学习汇总
- android 启动程序软键盘不自动弹出
- Android 自定义Dialog,以及失去焦点之后,Dialog消失的解决
- Android图形用户界面开发之ViewTree和DecorView详细介绍
- 关于android Activity中注解的使用,省去无用的findviewbyid....setonclick.....