繁体   English   中英

从多个视图调用onCreateOptionsMenu()

[英]Calling onCreateOptionsMenu() from multiple views

这可能是由于我对java的工作原理缺乏全面的了解。 还在学习!

假设我们有一个活动,其中包含onCreate代码。

public class GameActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(new GameMainView(this));
    }
}

我们现在有我们的看法。 我的问题是这个。 我想使用onCreateOptionsMenu()的响应来调用GameActivity类和GameMainView类中的子例程。 我将如何访问这两个课程? 我知道我可以创建一个专门用于onCreateOptionsMenu()的抽象类,并让GameActivity和GameMainView重写它来执行他们所需的操作。 这是唯一的选择吗? 是否onCreateOptionsMenu()仅被调用一次? 如果是这样,在哪里? 如果我在所有地方都覆盖它,它们会全部执行吗?

如果您这样编写活动:

public class GameActivity extends Activity {
    private GameMainView gameMainView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        gameMainView = new GameMainView(this);
        setContentView(gameMainView);
    }
}

然后,在处理选定菜单选项的方法中,您可以处理活动中的选择,并将其转发到视图上。

您只能在活动类中覆盖它。 按下按钮时,在活动中保留对GameMainView的引用,并在视图中调用方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM