zoukankan      html  css  js  c++  java
  • 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,就会报错。

  • 相关阅读:
    javascript给builtin对象添加新方法
    __stdcall、__cdecl 、CALLBACK 几种函数修饰符
    判断是空白符(空格、换页、换行、回车、横向制表和纵向制表)的方法
    strcpy函数的实现
    strncpy实现
    strcat实现
    android修改标题栏高度
    断言 assert
    字符类别测试总结
    判断是否是控制字符
  • 原文地址:https://www.cnblogs.com/imfanqi/p/5004462.html
Copyright © 2011-2022 走看看