ListActivity学习

布局代码:

<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    </ListView>
    </LinearLayout>

错误信息:

E/AndroidRuntime(2728): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.*****.Main}:

java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
06-01 21:41:51.028: E/AndroidRuntime(2728): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java)

提示要使用android内置的id号:android.R.id.list

修改后的布局:

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

具体原因(官方说明):

ListActivity has a default layout that consists of a single, full-screen list in the center of the screen. However, if you desire, you can customize the screen layout by setting your own view layout with setContentView() in onCreate(). To do this, your own view MUST contain a ListView object with the id "@android:id/list" (or list if it's in code)

参考该博文:www.cnblogs.com/wangsanfeng/archive/2012/11/17/2775050.html(ListActivity源码分析

原文地址:https://www.cnblogs.com/lyyh-victory/p/3763782.html