您的位置:首页 > 移动开发 > Android开发

Andriod学习笔记2:“Your content must have a ListView whose id attribute is 'android.R.id.list'”问题的解决办法

2015-11-29 11:14 676 查看

问题描述

activity_main.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">

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

</LinearLayout>

MainActivity.java部分代码如下:

public class MainActivity extends ListActivity {
private SimpleCursorAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

启动App之后报以下错误信息:

Your content must have a ListView whose id attribute is 'android.R.id.list

解决办法

由于MainActivity继承了ListActivity类,因此对应的布局文件中需要添加ListView的标签,同时其id必须设置成

android:id="@+id/android:list"
或者
android:id="@android:id/list"

设置成功之后,重新启动App就不会报错了。

ListActivity会从绑定的布局中根据android.R.id.list去查找这个控件,这是他的代码的内部实现,如果不这样定义,内部代码就找不到这个ListView,就会报错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: