您好,我正在开发 Android 应用程序,我正在使用它,我正在使用单个Activity
和3个碎片。所以考虑我有 3 个片段 A B C。当我从 A 切换到 B 时,我添加Fragment
现在,当我从 C 单击返回时,它会显示 B,并且 B 到 A 也类似。
但问题是,当我从 C 到 B 或从 B 到 A 时,它并没有召唤onResume()
或任何其他生命周期方法Fragment
.
我实际上想为每个人做些什么Fragment
我有不同的标题ActionBar
。因此,在我的代码中,当我从 A 移动到 B 或从 B 移动到 c 时,我正在更改片段内的活动标题。但是当我点击返回时它并没有据此改变。
实际问题是什么?为什么从后台弹出后它不调用onResume()
for my Fragment
?我该如何解决这个问题?需要帮忙。谢谢。
onResume()
of the Fragment
仅当Activity
已恢复。所以这对你没有帮助。即使我现在也面临类似的问题。你可以实施OnBackStackChangedListener
并获取堆栈顶部的片段名称并设置ActionBar
以此为基础的标题。
private FragmentManager.OnBackStackChangedListener getListener()
{
FragmentManager.OnBackStackChangedListener result = new FragmentManager.OnBackStackChangedListener()
{
public void onBackStackChanged()
{
FragmentManager manager = getFragmentManager();
if (manager != null)
{
if(manager.getBackStackEntryCount() >= 1){
String topOnStack = manager.getBackStackEntryAt(manager.getBackStackEntryCount()-1).getName();
Log.i("TOP ON BACK STACK",topOnStack);
}
}
}
};
return result;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)