我在activity_main.xml中的RelativeLayout下添加了一个列表视图,为主要活动创建一个简单的列表视图(如果我使用了错误的术语,请原谅。我是android dev的新手。)
<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不会让我编译项目,即使它只是工作。
提前致谢!
答案 0 :(得分:3)
你可以删除 的xmlns:机器人= “http://schemas.android.com/apk/res/android” 从listview定义中,只需要一次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
因此,当您尝试重新定义时会出现错误
答案 1 :(得分:2)
为了避免将来出现这种情况,我认为仅向应用程序通知xml文件的最外层布局或查看的xml命名空间就足够了。
这很奇怪,因为解析器应该拒绝任何重复的名称空间声明。
所以你必须从所有空格中移除xmlns:android="http://schemas.android.com/apk/res/android
(此处为 ListView ),除了最外层的布局/视图(此处为 RelativeLayout )
OR
您可以通过清除该项目来执行临时解决方案。虽然这是一个临时解决方案,但优点是您不必进行任何代码更改。