Android 如何在不同的活动中保持操作栏按钮单击的一致性。(安卓)

Android 如何在不同的活动中保持操作栏按钮单击的一致性。(安卓),android,android-actionbar,Android,Android Actionbar,这是我的问题,我相信这是一个基本的问题。请耐心等待我,因为我编程已经两年多了 我在MainActivity类中创建了一个动作栏。在我的onoptionItemsSelectedMain菜单方法中,我有一个switch语句,它根据可用操作项的用户输入告诉MainActivity要启动哪个活动。我感兴趣的是,当用户选择一个选项时,动作栏在所有活动中保持一致的行为。菜单项保持不变,我希望在所有活动中选择的OnOptions项都相同。我可以从MainActivity复制和粘贴代码,但我知道这不是“正确”

这是我的问题,我相信这是一个基本的问题。请耐心等待我,因为我编程已经两年多了

我在MainActivity类中创建了一个动作栏。在我的onoptionItemsSelectedMain菜单方法中,我有一个switch语句,它根据可用操作项的用户输入告诉MainActivity要启动哪个活动。我感兴趣的是,当用户选择一个选项时,动作栏在所有活动中保持一致的行为。菜单项保持不变,我希望在所有活动中选择的OnOptions项都相同。我可以从MainActivity复制和粘贴代码,但我知道这不是“正确”的方法

例如: 在MainActivity中,操作栏提供选项A、B、C。当用户选择活动A、B或C时,活动A、B或C开始

如果用户选择了,则启动。我希望用户能够启动B,C或主屏幕使用的行动栏


我知道这有一个基本的解决方案,但我已经有一段时间没有编写代码了。感谢所有的帮助。由于我的问题很简单,所以请随意咆哮:

我找到了答案,归结到基本编程。请让我知道这是否足够清楚

因此,关于Android编程格式,有一些事情需要了解。在MainActivity中,启动时按顺序调用两个函数:

OnCreateOptionsMenuItem项,它调用要放入菜单/操作栏的值。 OnOptions项SelectEdItem项,它告诉应用程序如何处理所选内容

如果要在每个不同的视图中保持操作栏的一致性,在调用OnOptions ItemsSelected时的每个活动中,都有从选项中获取id的方法,然后使用super.OnOptions ItemsSelectedItem返回它。为了使其工作,用户应该让调用类extend MainActivity而不是Activity。下面是一个代码示例:

这是来自第二个活动的代码,该活动希望使用与MainActivity相同的选项保持相同的行为操作栏。注意:如果不扩展MainActivity,它将不起作用,因为它将从Activity类调用方法,而不是从MainActivity调用方法

public class secondActivity extends MainActivity{

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.secondActivity);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle item selection
        item.getItemId();
    return super.onOptionsItemSelected(item);   
    }

}