Android 使用总体布局提供非滚动标题的ListActivity

Android 使用总体布局提供非滚动标题的ListActivity,android,android-layout,Android,Android Layout,我想做一件非常简单的事情:创建一个包含TextView和ListView的LinearLayout 在其中一个例子中,据我所知,这个例子实际上与我的例子相同。但是,如果调用onCreate中的setContentView调用,mine将失败(意外停止;收到RuntimeException)。注释会使列表显示良好,但我没有标题 根据,我必须确保我的ListView的id为“list”。我的是 我错过了什么?下面是main.xml: <?xml version="1.0" encoding="

我想做一件非常简单的事情:创建一个包含TextView和ListView的LinearLayout

在其中一个例子中,据我所知,这个例子实际上与我的例子相同。但是,如果调用onCreate中的setContentView调用,mine将失败(意外停止;收到RuntimeException)。注释会使列表显示良好,但我没有标题

根据,我必须确保我的ListView的id为“list”。我的是

我错过了什么?下面是main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <TextView android:text="Constant Heading" android:id="@+id/heading"
                android:layout_width="fill_parent" android:layout_height="wrap_content" />
        <ListView android:layout_height="fill_parent" android:id="@+id/list"
                android:layout_width="fill_parent" />
</LinearLayout>
我注意到它说“您的内容必须有一个id属性为‘android.R.id.list’的ListView”。就我所见,我是这样做的(main.xml中的android:id=“@+id/list”);请参阅上面的完整文件


谢谢。

文本视图和
列表视图上设置
android:layout\u height=“wrap\u content”
,并在
列表视图上设置
android:layout\u weight=“1”

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <TextView android:text="Constant Heading" android:id="@+id/heading"
                android:layout_width="fill_parent" android:layout_height="wrap_content" />
        <ListView android:layout_height="wrap_content" android:id="@+id/list"
                android:layout_width="fill_parent" android:layout_weight="1"/>
</LinearLayout>


这将导致
列表视图展开以填充可用区域。

在文本视图上设置
android:layout\u height=“wrap\u content”
。在列表视图上设置android:layout\u weight=“1”
android:layout\u height=“0dp”

Aha。我找到了。我有

android:id="@+id/list"
需要的时候

android:id="@android:id/list"

不适用于2.3.1或2.1(都在模拟器中)。如果有帮助的话,问题出现在第236行的ListACtivity.onContentChanged()中。我尝试了这两个答案以及下面的答案,结果都是一样的。在这种情况下,您需要提供错误的完整stacktrace。有关更多详细信息,请参阅我上面的评论;简而言之,这在2.1或2.3.1中不起作用。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <TextView android:text="Constant Heading" android:id="@+id/heading"
                android:layout_width="fill_parent" android:layout_height="wrap_content" />
        <ListView android:layout_height="wrap_content" android:id="@+id/list"
                android:layout_width="fill_parent" android:layout_weight="1"/>
</LinearLayout>
android:id="@+id/list"
android:id="@android:id/list"