0

我在activity_main.xml 中的RelativeLayout 下添加了一个列表视图,以为主要活动创建一个简单的列表视图(如果我使用了错误的术语,请见谅。我对android 开发非常陌生)。

<RelativeLayout 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: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=".MainActivity" >

    <ListView 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/listview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>

这在一段时间内非常有效。
我注意到我做了什么,因为现在我在行上得到一个红色错误圆圈我得到的 android:id="@+id/listview" 错误是:Unexpected namespace prefix "xmlns" found for tag ListView

Eclipse 不会让我编译该项目,即使它只是在工作。

提前致谢!

4

2 回答 2

3

您可以从列表视图定义中删除 xmlns:android="http://schemas.android.com/apk/res/android",xml 文件只需要一次。

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

xmlns 是您定义的命名空间,在这种情况下,您在文件的开头说“android”链接到命名空间

http://schemas.android.com/apk/res/android

所以当您尝试重新定义它时会出现错误

于 2013-06-06T01:16:07.183 回答
2

为了避免将来出现这种情况,我相信只需通知应用程序一次有关 xml 名称空间的最外层Layout或xml 文件的View就足够了。

这很奇怪,因为解析器应该拒绝任何重复的命名空间声明。

所以你必须从除了最外面的布局/视图(这里是RelativeLayout)之外xmlns:android="http://schemas.android.com/apk/res/android的所有空间(这里是ListView )中删除

或者

您可以通过清理该项目来做一个临时解决方案。虽然这是一个临时解决方案,但优点是您不必进行任何代码更改

于 2016-07-08T06:09:09.607 回答