Android : fragment从backstack弹出时调用哪个方法
Android : Which method is called when fragment is pop out from backstack
我研究过堆栈溢出,但似乎没有找到解决方案。
我有一个mainActivity和几个frgaments,我正在通过
replace
方法和相应的片段已添加到后台堆栈,但我的问题是当我将其从后台堆栈中弹出时,调用了哪个回调我想在将其从堆栈中弹出之前检查一些内容,当我将其从堆栈中弹出时,onResume() 方法未调用从后栈弹出
帮助
只需执行以下操作:
getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener()
{
public void onBackStackChanged()
{
// Your logic here
}
});
此回调将在返回堆栈上的每次更改时调用 - 即使在添加片段时也是如此。如果您想知道片段何时被删除,请添加以下逻辑
Fragment someFragment = (Fragment)getSupportFragmentManager().findFragmentById(R.id.fragmentItem);
if (someFragment == null) {
// this fragment was removed from back stack
}
我研究过堆栈溢出,但似乎没有找到解决方案。
我有一个mainActivity和几个frgaments,我正在通过
replace
方法和相应的片段已添加到后台堆栈,但我的问题是当我将其从后台堆栈中弹出时,调用了哪个回调我想在将其从堆栈中弹出之前检查一些内容,当我将其从堆栈中弹出时,onResume() 方法未调用从后栈弹出
帮助
只需执行以下操作:
getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener()
{
public void onBackStackChanged()
{
// Your logic here
}
});
此回调将在返回堆栈上的每次更改时调用 - 即使在添加片段时也是如此。如果您想知道片段何时被删除,请添加以下逻辑
Fragment someFragment = (Fragment)getSupportFragmentManager().findFragmentById(R.id.fragmentItem);
if (someFragment == null) {
// this fragment was removed from back stack
}