activity_home_drawer.xml似乎为空

时间:2019-09-10 22:58:59

标签: android android-studio android-layout navigation-drawer

MY activity_home_drawer.xml

activity_home_drawer.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:showIn="navigation_view">

<group android:checkableBehavior="single">
    <item
        android:id="@+id/nav_home"
        android:icon="@drawable/ic_menu_camera"
        android:title="@string/menu_home" />
    <item
        android:id="@+id/nav_gallery"
        android:icon="@drawable/ic_menu_gallery"
        android:title="@string/menu_gallery" />
    <item
        android:id="@+id/nav_slideshow"
        android:icon="@drawable/ic_menu_slideshow"
        android:title="@string/menu_slideshow" />
    <item
        android:id="@+id/nav_tools"
        android:icon="@drawable/ic_menu_manage"
        android:title="@string/menu_tools" />
</group>

<item android:title="Communicate">
    <menu>
        <item
            android:id="@+id/nav_share"
            android:icon="@drawable/ic_menu_share"
            android:title="@string/menu_share" />
        <item
            android:id="@+id/nav_send"
            android:icon="@drawable/ic_menu_send"
            android:title="@string/menu_send" />
    </menu>
</item>

</menu>

我正在关注YouTube上有关如何为我的android应用创建应用导航抽屉的教程,同时按照已发生的步骤进行操作(请参见上图),我是android编程的新手,所以有人可以告诉我此问题的根本原因是什么以及如何解决?谢谢。

2 个答案:

答案 0 :(得分:1)

删除此行

 tools:showIn="navigation_view"

答案 1 :(得分:1)

如果我们查看official documentation,它会明确指出tools:showIn

  

打算用于:布局所引用的任何根<View>   <include>

基本上,tools:showIn Android Studio的布局编辑器知道应将使用它的View放在哪里。

根据以上说明,我们可以得出tools:showIn

  • 应该由根<View>
  • 使用
  • 通过的布局应以<include>引用此视图

现在,如果您查看源代码,您会发现,

  • 您正在菜单中使用tools:showIn,而不是该菜单
  • 您没有<include>布局中的activity_home_drawer.xml navigation_view。尽管您将无法执行此操作,但它不是<View>

由于上述原因,Android Studio无法预览菜单。解决此问题的方法是删除tools:showIn属性和工具名称空间。

删除

xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view"

重构后, activity_home_drawer.xml 菜单应该看起来像

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

<group android:checkableBehavior="single">
    <item
        android:id="@+id/nav_home"
        android:icon="@drawable/ic_menu_camera"
        android:title="@string/menu_home" />
    <item
        android:id="@+id/nav_gallery"
        android:icon="@drawable/ic_menu_gallery"
        android:title="@string/menu_gallery" />
    <item
        android:id="@+id/nav_slideshow"
        android:icon="@drawable/ic_menu_slideshow"
        android:title="@string/menu_slideshow" />
    <item
        android:id="@+id/nav_tools"
        android:icon="@drawable/ic_menu_manage"
        android:title="@string/menu_tools" />
</group>

<item android:title="Communicate">
    <menu>
        <item
            android:id="@+id/nav_share"
            android:icon="@drawable/ic_menu_share"
            android:title="@string/menu_share" />
        <item
            android:id="@+id/nav_send"
            android:icon="@drawable/ic_menu_send"
            android:title="@string/menu_send" />
    </menu>
</item>

</menu>