每当我尝试运行我的应用程序时,都会抛出以下异常:
01-22 00:40:51.868:ERROR / AndroidRuntime(2219):java.lang.RuntimeException:无法启动活动ComponentInfo {[Redacted]}:java.lang.RuntimeException:您的内容必须具有其ID为ListView的ListView属性是'android.R.id.list'
以下是有问题的ListView的标记:
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:dividerHeight="1px"></ListView>
那么,既然id被明确定义为“list”,那么这里给出了什么?在过去的几个小时里,我已经多次运行我的代码,试图找出原因,我很难过。任何人都可以提供任何指示吗?
答案 0 :(得分:5)
您的班级ComponentInfo
可能正在扩展ListActivity
,因此请确保您的ListView
对象必须在布局XML文件中包含以下属性:
android:id="@android:id/list"
答案 1 :(得分:3)
实际上“android.R.id.list”和“R.id.list”之间存在差异
<ListView android:id="@android:id/list" />
与
列表不同<ListView android:id="@+id/list" />
第一个在android框架中有一个预定义的id,这意味着有些东西会在后台自动生成。请考虑以下示例:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="match_parent"
android:height="match_parent">
<ListView
android:width="match_parent"
android:height="match_parent"
android:id="@android:id/list" />
<TextView
android:width="wrap_content"
android:height="wrap_content"
android:id="@android:id/empty"
android:text="You don\'t have any items yet." />
</LinearLayout>
鉴于XML中的上述布局以及相应的java类扩展了ListActivity,当列表没有任何项目时,将自动显示TextView,当列表第一次显示时,它也会自动隐藏项目
答案 2 :(得分:0)
我猜你有意外导入android.R包。
删除导入,你应该没问题。
答案 3 :(得分:-1)
XML中的示例代码 &安培;在java类
中ListView list =(ListView)findViewById(R.id.list);