这可能是由于我对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);
}
}
然后,在处理选定菜单选项的方法中,您可以处理活动中的选择,并将其转发到视图上。