我正在创建一个应用程序。我是初学者,我对我的MainActivity感到焦虑。我相信它太大了,有些事情没有必要在那里。我不确定在新活动中我可以安全使用什么。
我想分开的一件事是:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}
是否可以在单独的课程中设置此选项菜单设置(针对操作栏)?
谢谢
答案 0 :(得分:0)
我想这是可能的,但您仍然需要覆盖OnCreateOptionsMenu
,因此对Activity
尺寸的改变不会太大。它可以使您的代码更容易阅读,因为所有内容都在单独的课程中,但它不会使您的活动减少,并且#34;大"从使用的数据的意义上讲。我个人不会尝试单独OnCreateOptionsMenu
,因为它是Activity
的一部分,如果您想要显示它,您将始终需要覆盖OnCreateOptionsMenu
功能。尝试隔离Activity
中不具有Activity
特定功能的大功能,以便您可以在代码中的其他位置重复使用它们。
答案 1 :(得分:0)
您无法将onCreateOptionsMenu
保留在其他活动中。
如果您认为您的活动文件太大,则意味着您的活动正在做不应该做的事情。
尝试将活动中多余的代码删除到Utilities
和Helper
类。
答案 2 :(得分:0)
onCreateOptionsMenu
是来自Activity
类的一种方法,如果你把它放在另一个Activity
你不会得到你的结果,它是它的固有部分想。相反,如果你膨胀了第二个Menu
,那么你将获得没有Menu
的主要活动,只有当你膨胀第二个Activity
时才会找到onCreateOptionsMenu
。
简单来说,Activity
与其声明的Activity
相关联。如果你想将方法移到另一个类我建议移动不属于{{1}}生命周期的方法