从多个视图调用onCateAptionsMenu()

时间:2011-09-01 21:30:19

标签: java android abstract-class

这可能是因为我对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()只被调用一次吗?如果是这样,在哪里?如果我在整个地方覆盖它,它们都会被执行吗?

2 个答案:

答案 0 :(得分:1)

如果您按照以下方式编写活动:

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

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

答案 1 :(得分:0)

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