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


    问题描述

    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,就会报错。

  • 相关阅读:
    mysql面试题
    Excel下载打不开
    Linux安装jdk1.8和配置环境变量
    Linux压缩、解压文件
    Linux常用命令1
    VMware下载安装及CentOS7下载安装
    ueditor的简单配置和使用
    linux的tomcat服务器上部署项目的方法
    TortoiseSVN客户端的使用说明
    CentOS 6.5系统上安装SVN服务器
  • 原文地址:https://www.cnblogs.com/imfanqi/p/5004462.html
Copyright © 2020-2023  润新知