我有一个UIManager类,我想管理所有用户交互,包括菜单。
我的菜单在此代码下工作正常:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
MenuItem payloadItem = (MenuItem) menu.findItem(R.id.payloadDisplayChoice);
payloadItem.setTitle("Show L3 payload");
return true;
}
但我想在UIManager类中实现此代码。 UIManager引用了Activity和baseContext,但是当我将此代码放入UIManager类时,无法识别它。
关于如何使此代码在主要活动之外工作的任何建议?
谢谢-moticon
最佳答案
您不能仅将onCreateOptionsMenu
方法放入UIManager类中,因为它属于Activity类。
但是,您可以在活动中创建对UIManager类的引用,然后创建会阻塞onCreateOptionsMenu
的方法(在UIManager中)。例如(在Activity类中):
private UIManager manager=new UIManager(); //your UIManager reference
@Override
public boolean onCreateOptionsMenu(Menu menu){
return manager.handleOnCreateOptionsMenu(); //method of UIManager, that handles your onCreateOptionsMenu
}