错误:列表网格应该没有在xml中声明的子项

时间:2013-03-14 15:54:58

标签: android listview android-linearlayout

我想在我的android布局文件中创建一个listview布局。 ListView以这种方式构建:

<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Table" >

<ListView
    android:id="@+id/linearLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="launch_booklayout"
        android:text="@string/demo"
        android:textIsSelectable="true" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="launch_booklayout"
        android:text="@string/demo"
        android:textIsSelectable="true" />
</ListView>

我在eclipse中得到错误:

  

列表/网格应该没有在XML中声明的子项

有谁知道我应该解决什么? 感谢

2 个答案:

答案 0 :(得分:1)

错误说的是什么。改变

<ListView
    android:id="@+id/linearLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

<ListView
    android:id="@+id/linearLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" />

取出</ListView>。现在,您将TextViews作为ListView的子项,不允许使用

修改

如果您要延长ListActivity,那么您的list将面临另一个问题。您需要更改

<ListView
android:id="@+id/linearLayout1"
...

<ListView
android:id="@android:id/list"
...

如果您要延长Activity,那么您将不需要

答案 1 :(得分:0)

你不能让任何孩子在你的列表视图之间移除你的文本视图,它将解决你的问题

<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Table" >

<ListView
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:onClick="launch_booklayout"
    android:text="@string/demo"
    android:textIsSelectable="true" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:onClick="launch_booklayout"
    android:text="@string/demo"
    android:textIsSelectable="true" />

如果您想在listview中显示2个文本视图,则需要使用customAdapter类来实现此目标

这是列表视图的一个很好的教程: http://www.vogella.com/articles/AndroidListView/article.html