为了账号安全,请及时绑定邮箱和手机立即绑定

在片段中处理android中的onBackPressed

在片段中处理android中的onBackPressed

达令说 2022-05-21 17:13:22
我想onBackPressed在片段中处理我在我的活动中使用以下代码,但这返回 0@Override    public void onBackPressed() {    int count = getFragmentManager().getBackStackEntryCount();    Toast.makeText(getBaseContext(), ""+count, Toast.LENGTH_SHORT).show();    if (count == 1) {        super.onBackPressed();        //additional code    } else {        getFragmentManager().popBackStack();    }}
查看完整描述

2 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

只需添加.addToBackStack(null)您的Activityor Fragment。当您添加或替换fragment. 像下面

 getSupportFragmentManager().beginTransaction().replace(R.id.parent_layout, new MyFragment()).addToBackStack(null).commit();

注意:-您不必在onBackPressed()方法中做任何事情。


查看完整回答
反对 回复 2022-05-21
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

Just app this line when you want to replace any fragment and manage backsack on Fragment.ClientHome per = new ClientHome();                Bundle bundle = new Bundle();
                bundle.putString("usertype", "client");
                per.setArguments(bundle);
                FragmentManager fragmentManager = getFragmentManager();                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.setCustomAnimations(R.anim.slide_from_left, R.anim.slide_to_right);
                fragmentTransaction.replace(R.id.content_frame, per, "tag");
                fragmentTransaction.addToBackStack("tag");
                fragmentTransaction.commit();


查看完整回答
反对 回复 2022-05-21
  • 2 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信