我研究了堆栈溢出,但似乎找不到解决方案。Android:在从后台弹出碎片时调用哪种方法
我有一个mainActivity和几个frgaments,我被 replace
方法和相应的片段做片段的交易加入到堆栈中,但我的问题是,当我弹出它从后栈调用回调函数我想前要检查什么从堆栈的onResume()方法并没有叫其弹出时,我突然从后面堆
HELP
我研究了堆栈溢出,但似乎找不到解决方案。Android:在从后台弹出碎片时调用哪种方法
我有一个mainActivity和几个frgaments,我被 replace
方法和相应的片段做片段的交易加入到堆栈中,但我的问题是,当我弹出它从后栈调用回调函数我想前要检查什么从堆栈的onResume()方法并没有叫其弹出时,我突然从后面堆
HELP
只需做到以下几点:
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
}
,但它也被称为时片段首先被初始化为什么? – Ravi
更新了我的回答 – MarkySmarky
@thanx Marky 我想知道在activity或fragment中定义上面的方法会更好吗? – Ravi
检查片段生命周期http://developer.android.com/guide/components/fragments.html – bGorle