Атрибуту отсутствует префикс пространства имен android

Я создаю приложение для Android, которое использует файл menu.xml в папке res. Но я получаю вышеуказанную ошибку. Что это значит? Как я могу это исправить?

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>

Ответы

Ответ 1

Измените <item id="@+id/my_location" на <item android:id="@+id/my_location". Это во всех трех местах.

Кроме того, здесь: android:title:="Current location" удалите двоеточие после title.

Ответ 2

Вам также необходимо убедиться, что следующие две строки находятся в списке ваших атрибутов:

xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"

Если вы опустите те, Eclipse просто даст вам ошибку "отсутствующий андроид".

Ответ 3

Верьте или нет, для тех, кто пытается работать с примерами в загружаемых книгах, вам может потребоваться убедиться, что у вас есть истинные кавычки, как их понимает компилятор. Я получал ту же ошибку, что и OP, и многие подобные ошибки синтаксического анализа, поскольку я пытался немного изменить XML файл. Я заметил тогда, что кавычки из вложенных фрагментов кода отличаются от тех, что были на моей клавиатуре (в фрагментах, которые они наклоняли вправо, и если я сам набрал их, они были прямо вверх и вниз).

Я знаю, что это звучит орехи, и я с трудом мог поверить в это, но когда я перепечатал свои цитаты, он работал нормально.

Ответ 4

Добавление андроида:, прежде чем атрибут решит мою проблему.

Ответ 5

создать XML файл в каталоге проекта res/menu/ Не в папке 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>

Ответ 6

Иногда код XML может быть написан правильно, поэтому вам нужно просто сократить то, что у вас есть в настоящее время, а затем удалить его из номеров строк, а затем повторно вставить его, и ошибка должна быть исправлена. Если это не так, вы знаете, что ваш код ошибочен. По умолчанию xml распознает то, что вы поставили вначале, и его нужно удалить, чтобы начать заново. Поверьте мне, я просто потратил 3 дня на эту самую проблему и сделал именно то, что было сказано выше, удачи.

Ответ 7

Вы забыли префикс атрибутов 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>

Ответ 8

произошло две ошибки глупых ошибок

- 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>

Ответ 9

Если у вас есть что-то вроде этого:

<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"> 
...