这可能是由于我对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);
    }
}


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

10-08 07:50