我正在创建一个使用res文件夹中的menu.xml文件的Android应用程序。但我得到了上述错误。这是什么意思?我该如何解决?
menu.xml文件:
<?xml version="1.0" encoding= "utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item id="@+id/my_location"
android:icon="@drawable/my_location"
android:title:="Current location" />
<item id="@+id/mapview_satellite"
android:icon="@drawable/satelliteview"
android:title="Satellite View" />
<item id="@+id/mapview_normal"
android:icon="@drawable/normalview"
android:title="Normal view" />
</menu>
答案 0 :(得分:24)
将<item id="@+id/my_location"
更改为<item android:id="@+id/my_location"
。这三个地方都有。
另外,在这里:android:title:="Current location"
删除title
之后的冒号。
答案 1 :(得分:10)
您还需要确保属性列表中包含以下两行:
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
如果省略这些,Eclipse将只给你“丢失的android前缀”错误。
答案 2 :(得分:4)
信不信由你,对于那些试图通过下载书籍中的示例进行操作的人,您可能需要确保您有正确的引号,因为编译器可以理解它们。我得到了与OP相同的错误,以及许多类似的解析错误,因为我试图以小的方式修改XML文件。我注意到粘贴的代码片段中的引号与键盘上的引号不同(在片段中它们向右倾斜,如果我自己键入它们,它们是直接上下)。
我知道这听起来很疯狂,我自己也很难相信,但当我重新输入引号时,它工作正常。
答案 3 :(得分:2)
在属性解决我的问题之前添加 android:。
答案 4 :(得分:1)
在项目的res/menu/
目录中创建XML文件不在res
文件夹中
&安培;
不要忘记为id属性添加前缀。
试试这个:
<?xml version="1.0" encoding= "utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/my_location"
android:icon="@drawable/my_location"
android:title="Current location" />
<item android:id="@+id/mapview_satellite"
android:icon="@drawable/satelliteview"
android:title="Satellite View" />
<item android:id="@+id/mapview_normal"
android:icon="@drawable/normalview"
android:title="Normal view" />
</menu>
答案 5 :(得分:1)
有时可能会正确编写XML代码,因此您需要简单地删除当前所拥有的内容,然后从行号中删除它,然后重新粘贴它,并修复错误。如果没有,那么你知道你的代码是错误的。 xml默认是识别您最初放置的内容,需要删除才能重新开始。相信我,我只花了3天时间解决了这个问题并完成了上面所说的,祝你好运。
答案 6 :(得分:0)
您忘记为id
属性添加前缀。试着这样做:
<?xml version="1.0" encoding= "utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/my_location"
android:icon="@drawable/my_location"
android:title="Current location" />
<item android:id="@+id/mapview_satellite"
android:icon="@drawable/satelliteview"
android:title="Satellite View" />
<item android:id="@+id/mapview_normal"
android:icon="@drawable/normalview"
android:title="Normal view" />
</menu>
答案 7 :(得分:0)
有两个错误愚蠢的错误
- id isn't it attribute is android:id
- First itme android:title:= you have written extra colon after title
这里是实现代码
<?xml version="1.0" encoding= "utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/my_location"
android:icon="@drawable/my_location"
android:title="Current location"/>
<item
android:id="@+id/mapview_satellite"
android:icon="@drawable/satelliteview"
android:title="Satellite View"/>
<item
android:id="@+id/mapview_normal"
android:icon="@drawable/normalview"
android:title="Normal view"/>
</menu>
答案 8 :(得分:0)
如果你有这样的事情:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable name="person" type="com.abc.PersonEntity"/>
</data>
在布局标记内移动数据:
<layout xmlns:android="http://schemas.android.com/apk/res/android" >
<data>
<variable name="person" type="com.abc.PersonEntity"/>
</data>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
...