这可能是因为我对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()只被调用一次吗?如果是这样,在哪里?如果我在整个地方覆盖它,它们都会被执行吗?
答案 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的引用,并在按下按钮时调用视图中的方法。