我想回到后面堆栈中的最后一个片段,所以我想让后退按钮弹回堆栈。我应该这样做吗?如果是这样,我应该覆盖onBackPressed()或onKeyDown()?
@Override
public void onBackPressed()
{
Intent intent = new Intent(this,ABC.class);
startActivity(intent);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK ) {
// do something on back.
return true;
}
return super.onKeyDown(keyCode, event);
}
我的片段由于某种原因没有正确添加到后台
我正在使用它来尝试回到之前的片段,但顺序却很奇怪。我该怎么做才能使订单正确?
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft){
if(teamsFrag !=null)
{
if(manage.getBackStackEntryCount() > 0)
manage.popBackStack(manage.getBackStackEntryAt(manage.getBackStackEntryCount()-1).getName(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
//ft.detach(dataFrag);
}
答案 0 :(得分:2)
简短回答?否。
答案很长?如果你不得不问,没有。
您应该使用片段管理器设置片段,以便后退按钮可以满足您的需要。您不应该覆盖后退按钮,而不是正确实现堆栈。
答案 1 :(得分:0)
我想回到后台堆栈中的最后一个片段,所以我想让后退按钮弹回堆栈。
当您使用FragmentManager添加新片段时使用FragmentTransaction#addToBackStack()
时,这是默认行为。