我有一个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类中时,它无法识别。
有关如何使此代码在主Activity之外工作的任何建议?
谢谢 - moticon
答案 0 :(得分:0)
您不能只将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
}