неожиданный префикс пространства имен с панелью действий

Я пытаюсь реализовать ActionBar через библиотеку поддержки v7. Потому что я хочу поддерживать приложение для Android 2.1 (уровень API 7) и выше.

Я прочитал в http://developer.android.com/guide/topics/ui/actionbar.html следующее: «Использование атрибутов XML из библиотеки поддержки. Обратите внимание, что атрибут showAsAction выше использует пользовательское пространство имен, определенное в теге. Это необходимо при использовании любых атрибутов XML, определенных библиотекой поддержки, поскольку эти атрибуты не не существует в среде Android на старых устройствах. Поэтому вы должны использовать свое собственное пространство имен в качестве префикса для всех атрибутов, определенных библиотекой поддержки».

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:myapp="http://schemas.android.com/apk/res-auto"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item        
        android:id="@+id/refresh"
        android:icon="@drawable/ic_navigation_refresh"
        android:title="@string/refresh"
        myapp:showAsAction="always"/> 
    <item
        android:id="@+id/settings"
        android:title="@string/settings"
        myapp:showAsAction="always"/>

    <item
        android:id="@+id/logout"
        android:title="@string/logout"
        myapp:showAsAction="always"/>
</menu>  

Eclipse показывает мне ошибку «Неожиданный префикс пространства имен «myapp» найден для элемента тега». Я не вижу, что я делаю неправильно.


person user2791366    schedule 18.09.2013    source источник
comment
Я нашел что-то вроде решения. Если я очистю свой проект, ошибки исчезнут, и я смогу запустить свое приложение. Но когда я меняю что-то совершенно другое в xml и сохраняю его, снова появляются ошибки, и мне приходится снова его чистить.   -  person user2791366    schedule 18.09.2013


Ответы (1)


** Вы должны добавить атрибут xmlns:tools, а также tools:context для тега меню **

    <menu xmlns:myapp="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.companyname.myapp.MainActivity">

    **Here in xmlns:context you have replace companyname and MainActivity as per need **

    **Other wise you have to clean and rebuild your project because IDE shows such error when they didn't got perfect project workspace OR module **
person Abhishek    schedule 31.12.2015