【发布时间】:2015-01-30 20:01:44
【问题描述】:
我的问题是,我有一个活动和一个片段,从活动中打开该片段,但是当我按下返回按钮时它关闭应用程序。 我试试这段代码。
用于打开的片段。
case R.id.button_contact:
Fragment fragment = new FragmentContact();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.frame_container,fragment).addToBackStack("Frag1").commit();
break;
返回按钮。
@Override
public void onBackPressed() {
getSupportFragmentManager().popBackStackImmediate("Frag1",0);
super.onBackPressed();
}
【问题讨论】:
-
注释掉
super.onBackPressed(); -
删除 getSupportFragmentManager().popBackStackImmediate("Frag1",0);会更好,因为您已经将片段添加到 backstack 并且按下返回按钮时它将自动从 backstack 中弹出