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

onBackPressed() 在 Fragment 中不起作用

onBackPressed() 在 Fragment 中不起作用

慕斯709654 2023-09-27 10:30:37
我想当我回来时它完全转到手机的主页,但onBackPressed()不起作用。顺便说一句,我的页面是一个片段。
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

在您的片段中使用getActivity().onBackPressed();它将执行onBackPressed()您的父活动


更准确地说


Activity activity = getActivity();

    if (activity != null) {

        activity.onBackPressed();}

编辑:用于requireActivity()避免空指针


requireActivity().onBackPressed();


查看完整回答
反对 回复 2023-09-27
?
慕村9548890

TA贡献1884条经验 获得超4个赞

onBackPressed 回调由您的父活动处理。因此您可以覆盖父活动的回调


XyzActivity.java:


@Override

public void onBackPressed() {

    handleBackPress();

}



public void handleBackPress() {

    Fragment visibleFragment = getSupportFragmentManager().findFragmentById(R.id.fragmentFrameLayout);

    if (visibleFragment == null) {

        return;

    }else if (visibleFragment instanceof PreviewFragment) {

        CommonFunctions.showDialogActionable(this, "Confirm", "Are you sure you want to exit?",

            "Yes", (dialogInterface, i) -> {

                finish();

            }, "No", null, "", null, true);

        return;

    }else

        finish();

    super.onBackPressed();

}


查看完整回答
反对 回复 2023-09-27
  • 2 回答
  • 0 关注
  • 152 浏览

添加回答

举报

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