Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我应该在每个片段中都有选项菜单,还是仅仅在总体选项卡活动中?_Android_Android Fragments_Android Fragmentactivity_Android Menu_Onactivityresult - Fatal编程技术网

Android 我应该在每个片段中都有选项菜单,还是仅仅在总体选项卡活动中?

Android 我应该在每个片段中都有选项菜单,还是仅仅在总体选项卡活动中?,android,android-fragments,android-fragmentactivity,android-menu,onactivityresult,Android,Android Fragments,Android Fragmentactivity,Android Menu,Onactivityresult,我的碎片菜单有一些小问题。我有一个主要的活动来承载这些片段。我不确定我的菜单选项代码是否应该包含在每个片段中,而不是活动中,还是仅仅包含活动?什么是更好的实践,什么最有效?我的一个菜单项也受到OnActivityResult的影响,因此,除非该方法也发布到每个片段中,否则该菜单项不起作用。这看起来像是很多重复的代码。我只是简单地将所有内容都放在主活动中,但这似乎是一种糟糕的做法,而且主活动应该具有最少的代码,并且片段应该包含它们自己的独立代码。我需要在片段中使用OnCreateView方法来刷新

我的碎片菜单有一些小问题。我有一个主要的活动来承载这些片段。我不确定我的菜单选项代码是否应该包含在每个片段中,而不是活动中,还是仅仅包含活动?什么是更好的实践,什么最有效?我的一个菜单项也受到OnActivityResult的影响,因此,除非该方法也发布到每个片段中,否则该菜单项不起作用。这看起来像是很多重复的代码。我只是简单地将所有内容都放在主活动中,但这似乎是一种糟糕的做法,而且主活动应该具有最少的代码,并且片段应该包含它们自己的独立代码。我需要在片段中使用OnCreateView方法来刷新图像适配器,因为需要访问ViewGroup。我只是想知道人们的看法是什么,我的代码最简单的地方是什么


提前感谢。

如果您的菜单项在语义上属于活动,例如登录和注销,则可以将其放入活动的菜单列表中。您只需使用startActivityForResult启动一些其他活动,并根据onActivityResult的结果更改菜单项的状态


此外,片段还可以具有onActivityResult方法,因此如果您可以将startActivityForResult和onActivityResult的逻辑分离为一个片段,在该片段中执行所有操作可能是一个好主意。

更改菜单项的状态是什么意思?还有什么方法可以使来自我的主要活动的startActivityForResult在我的片段中找到onActivityResult?更改菜单项的状态只是一个关于登录和注销的示例。对于活动的startActivityForResult应在活动的onActivityResult中处理。如果您真的需要将此消息通知给您的片段,那么您应该创建一个侦听器接口并使您的片段实现它。这样,您就可以从活动中调用其中的方法。