Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java onBackPressed()在片段中不起作用_Java_Android_Android Studio_Onbackpressed - Fatal编程技术网

Java onBackPressed()在片段中不起作用

Java onBackPressed()在片段中不起作用,java,android,android-studio,onbackpressed,Java,Android,Android Studio,Onbackpressed,我想在我返回时将其完全发送到手机的主页,但onBackPressed()不起作用。 顺便说一句,我的页面是一个片段。使用getActivity().onBackPressed()在片段中,它将执行父活动的onBackPressed() 更准确地说 Activity activity = getActivity(); if (activity != null) { activity.onBackPressed();} onBackPressed回调由父活动处理。所以您可以

我想在我返回时将其完全发送到手机的主页,但
onBackPressed()
不起作用。 顺便说一句,我的页面是一个片段。

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

更准确地说

Activity activity = getActivity();
    if (activity != null) {
        activity.onBackPressed();}

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();
}

您好@Jam,请尝试此链接,因为
片段
backPress function()片段没有
onbackpress
回调。