web-dev-qa-db-fra.com

Erreur de lancement de NavigationView: aucun identifiant de ressource trouvé pour l'attribut 'menu' dans le package

J'essaie d'ajouter NavigationView dans ma mise en page comme ci-dessous:

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:app="http://schemas.Android.com/apk/res-auto"
    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">


    <Android.support.v4.widget.DrawerLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:fitsSystemWindows="true">

        <TextView
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:text="@string/hello_world" />

        <Android.support.design.widget.NavigationView
            xmlns:app="http://schemas.Android.com/apk/res-auto"
            xmlns:Android="http://schemas.Android.com/apk/res/Android"
            Android:layout_width="wrap_content"
            Android:layout_height="match_parent"
            Android:layout_gravity="start"
            app:menu="@menu/drawer" />

    </Android.support.v4.widget.DrawerLayout>
</RelativeLayout>

Mais le problème est que j'obtiens une erreur lors de la compilation comme ci-dessous:

C:\Users\IBM_ADMIN\Documents\Androidprojects\supporttest\app\src\main\res\layout\activity_main.xml
Error:(22) No resource identifier found for attribute 'menu' in package 'ranjithnair02.com.supporttest'
Error:Execution failed for task ':app:processDebugResources'.
> com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\IBM_ADMIN\Documents\Android-studio\sdk\build-tools\22.0.1\aapt.exe'' finished with non-zero exit value 1
Information:BUILD FAILED

J'ai ajouté l'élément de menu dans menu/tiroir.xml.

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    tools:context=".MainActivity">

    <group Android:checkableBehavior="single">

        <item
            Android:id="@+id/navigation_item_1"
            Android:checked="true"
            Android:icon="@drawable/abc_tab_indicator_mtrl_alpha"
            Android:title="First" />

        <item
            Android:id="@+id/navigation_item_2"
            Android:icon="@drawable/abc_btn_check_material"
            Android:title="Second" />
      </group>
</menu>
15
Psypher

Assurez-vous que vous avez la bonne dépendance à la Android Bibliothèque de support de conception. Il est facile de choisir la mauvaise - car il semble que Google a publié deux chaînes de dépendance différentes:

Au moment de cette réponse, le blog des développeurs Android (et le commentaire de l'utilisateur hungryghost) avait la chaîne de dépendance correcte, tandis que la chaîne de dépendance sur la page d'accueil de la bibliothèque de support ne l'avait pas travail.

Utilisez celui-ci: compile 'com.Android.support:design:26.1.0'

Notez que la version est 22. 2 . 0 (faux: 22.0.0) et que le paquet s'appelle design (faux: conception-support)

Après ces modifications, utilisez le Android menu Studio "Reconstruire le projet", ou le bouton "Sync" qui apparaît parfois après avoir changé le fichier de gradle. Cela a finalement fait que cela fonctionne pour moi.

45
Patrick

Ajoutez la ligne ci-dessous au fichier Gradle de l'application.

dépendances {.....

  • implémentation 'com.Android.support:design:26.1.0'

....

}

pour gradle version 3.0.1

6
Dino Sunny