仅在 activity_main 中显示的工具栏项

Posted

技术标签:

【中文标题】仅在 activity_main 中显示的工具栏项【英文标题】:Toolbar items shown only in activity_main 【发布时间】:2016-05-16 16:55:58 【问题描述】:

我有只适用于activity_main.xml 的menu_main.xml。如何使 menu_main.xml 在其他地方工作而不是仅在一项活动中工作?当我将内容视图更改为另一个布局时,menu_main 中的工具栏项会消失,并留下空的 app_bar。

menu_main.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools" tools:context=".Przepisy">

    <item android:id="@+id/action_settings" android:title="@string/action_settings"
        android:orderInCategory="100" app:showAsAction="never" />

</menu>

main.java:

@Override
    public boolean onCreateOptionsMenu(Menu menu) 
        getMenuInflater().inflate(R.menu.menu_przepisy, menu);
        return true;
    

    @Override
    public boolean onOptionsItemSelected(MenuItem item) 
        int id = item.getItemId();

        if (id == R.id.action_settings) 
            return true;
        


        return super.onOptionsItemSelected(item);
    

AndroidMainfest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.ambu.przepisy" >

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".Przepisy"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

【问题讨论】:

您是否也尝试将此添加到您的其他活动中? getMenuInflater().inflate(R.menu.menu_przepisy, menu); 不,我没有:D。谢谢! 【参考方案1】:

您需要添加 getMenuInflater().inflate(R.menu.menu_przepisy, menu); 返回真; 到您想要此菜单的所有活动。在 onCreateOptionsMenu(Menu menu) 方法里面。

【讨论】:

这正是我所需要的。不知道它一定无处不在。谢谢!

以上是关于仅在 activity_main 中显示的工具栏项的主要内容,如果未能解决你的问题,请参考以下文章

仅在特定文章中显示 Joomla 模块?

仅在菜单项上显示模块,但不在 Joomla 中的项目(文章)页面上显示模块

如何仅在标签中的特定单词上显示工具提示?

如何在精灵工具包游戏中仅在场景中显示一次标签

ListFragment 仅在带有 ExpandableListadpater 的片段视图中显示第一项

MFC 工具提示仅在特殊场合出现