用到ListActivity中 , @+id/android:list"和"@android:id/list"的写法

转载 2015年07月10日 10:57:42

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:以上细节一定要注意,否则会报错.

android开发中@+id/和android:id用法的区别?

android开发中@+id/和android:id用法的区别?
  • yangweixing10
  • yangweixing10
  • 2014年04月13日 19:46
  • 3646

@+id/和android:id和@id/的区别?

Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值。id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc、@+id/xyz等。 如果在@后...
  • sjz4860402
  • sjz4860402
  • 2014年03月10日 09:25
  • 428

【Android开发细节】之【@id与@+id区别】

Android的Layout布局文件中@id与@+id的区别,@id通常用于引用另一个控件,@+id用于创建一个控件的id值,不过不仅仅用于创建一个控件的id值,我来告诉你还能干什么。...
  • MicroAnswer
  • MicroAnswer
  • 2016年06月10日 22:56
  • 634

Android中@+id和@id的区别

Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值。id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc、@+id/xyz等。  如果在@后...
  • u012230055
  • u012230055
  • 2014年12月18日 09:57
  • 1601

@+id/和android:id有什么区别?

Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值。id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc、@+id/xyz等。 如果在@后...
  • primer_programer
  • primer_programer
  • 2014年04月06日 14:22
  • 10981

Android中@id和@+id的区别

文章来自:http://www.apkbus.com/android-77792-1-1.html 1 TextView 2         android:id="@+id/noteI...
  • JunLinDiKu
  • JunLinDiKu
  • 2014年05月29日 18:39
  • 378

Android中@id和@+id的区别

1 TextView 2         android:id="@+id/noteInfo"3         android:layout_width="match_parent"4    ...
  • Mr_Oorange
  • Mr_Oorange
  • 2015年01月15日 22:59
  • 358

Android获取设备唯一ID的几种方式

转至http://blog.csdn.net/u014651216/article/details/50767326  IMEI 方式:TelephonyManager.get...
  • w371500241
  • w371500241
  • 2017年04月12日 09:16
  • 2328

@+id/和android:id有什么区别?

Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值。id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc、@+id/xyz等。 如果在@后...
  • qinyu100
  • qinyu100
  • 2015年10月16日 23:05
  • 262

@+id/和android:id有什么区别?

Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值。id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc、@+id/xyz等。 如果在@后...
  • u012207345
  • u012207345
  • 2017年06月21日 17:10
  • 61
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用到ListActivity中 , @+id/android:list"和"@android:id/list"的写法
举报原因:
原因补充:

(最多只允许输入30个字)