<ListView android:id="@+id/android:list" 在 list 前加 android: 的原因

代码:

[java] view plaincopyprint?
  1. <P><?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="<A href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</A>"   
  3.  android:layout_width="wrap_content"  
  4.  android:layout_height="wrap_content"></P><P> <ListView android:id="@+id/android:list"  
  5.   android:layout_width="wrap_content"  
  6.   android:layout_height="wrap_content" />  
  7.  <TextView android:id="@+id/android:empty"  
  8.   android:layout_width="wrap_content"  
  9.   android:layout_height="wrap_content" android:text="您还没有开始写日记呢!点击下边的Menu按钮开始写日记吧:)" />  
  10. </LinearLayout>  
  11. </P>  

因为在布局里这样写 android:list ,所以在 Activity 中使用 setListAdapter(adapter); 时就默认设置到了这个list上。

 

如果按一般控件的写法 <ListView android:id="@+id/myListView" …… />,

则需要 findViewById 先得到控件对像,再调用对像的 setListAdapter(adapter); 

 

然后 TextView 的 id 是 android:empty ,表示当 ListView 中没有数据的时候显示 TextView。