我有ActivityA
,其中包含FragmentF
。
ActivityA
还包含NavigationDrawer基础结构。
启动应用程序时-一切都很好。
被称为(以及其他):
ActivityA.OnStart
FragmentF.OnStart
ActivityA.OnResume
FragmentF.OnResume
..并显示内容。
但是当我按下主屏幕(以最小化应用程序并显示主屏幕)时,就会出现问题:
ActivityA.OnStop
被称为
FragmentF.OnStop
未被呼叫
有趣的事实:
-如果我在NavigationDrawer中切换项目,则会调用FragmentF.OnStop
,并将另一个片段的内容加载到ActivityA
中
-在所有情况下(尽量减少NaviDrawer中的应用和切换内容),FragmentF.OnPause
始终被调用
作为一种解决方法,我将代码(预期将在OnStop
中使用)放入OnPause
,但想知道:
-为什么不FragmentF.OnStop
被称为
-如何称呼它
我正在使用Xamarin(因此是CamelCase
的惯用约定:)-但我不怀疑该平台存在bug,似乎是Android的本机行为。
答案 0 :(得分:1)
首先,我不知道您的项目中使用哪种特定的布局或使用其他插件。我在演示中对其进行了测试(活动包含片段)。
github.com/851265601/FragmentDemo
当我单击主页按钮时,Onstop
中的Fragment
就像本演示中的屏幕快照一样被调用。此问题可能与其他原因有关,您是否使用Util.log
生成它并捕获logcat中的日志。注意:请勿将耗时的操作放在OnPause