Android:id列表视图

时间:2011-12-07 03:37:59

标签: android listview

我有一个在我的xml中声明的列表视图:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" 
    android:background="#F7EFE8">

    <ListView android:id="@+id/android:list"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"/>
        <TextView android:id="@+id/android:empty"
          android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/no_message"/>
</LinearLayout>

但是当我尝试向java声明/使用它时,找不到id。但是当我将列表视图重命名为其他东西并尝试使用它时,我可以看到它“R.id。 _ ”但是当R.id.list我找不到它时。如果我没有使用android:列表,那么应该有一个列表视图,其id为android:list。这里有什么帮助?

3 个答案:

答案 0 :(得分:27)

您的ListView对象ID应指定为 android:id =“@ android:id / list”

ListView lv = (ListView) findViewById(android.R.id.list);

或它应该有一些其他ID,如 android:id =“@ + id / sampleList”

ListView lv = (ListView) findViewById(R.id.sampleList);

请检查:ListActivity

list

希望这会有所帮助。

答案 1 :(得分:3)

在xml布局中使用,

 <ListView
   android:id="@+id/list"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"

 />

在Java代码中:

 ListView listview=(ListView)findViewById(R.id.list);// it takes id of listview from xml

如果你需要为listview使用android id,那么将你的代码替换为

<ListView
 android:id="@+android:id/list"
 android:layout_width="wrap_content"
android:layout_height="wrap_content" >

它可能对你有所帮助..

答案 2 :(得分:0)

试试这个:android:id =“@ + id / list” 然后清理项目并重建。 在java中,只需调用findViewById:

   ListView lv = (ListView)findViewById(R.id.list); 


参考:http://developer.android.com/reference/android/view/View.html