我有一个在我的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。这里有什么帮助?
答案 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