Android --- fragment响应返回键

fragment无法像activity回调onBackPressed方法。想要实现fragment响应返回键,可以使用Jetpack提供的方式:在Activity中提供了一个用于分发返回键事件的对象,通过调用ActivitygetOnBackPressedDispatcher()方法得到这个对象

官方文档请参考:

OnBackPressedDispatcher  |  Android Developers

    @Override
    public void onAttach(@NonNull Context context) {
        super.onAttach(context);
        OnBackPressedCallback callback = new OnBackPressedCallback(
            true // default to enabled
        ) {
            @Override
            public void handleOnBackPressed() {
                showAreYouSureDialog();
            }
        };
        requireActivity().getOnBackPressedDispatcher().addCallback(
            this, // LifecycleOwner
            callback);
    }

猜你喜欢

转载自blog.csdn.net/m0_50408097/article/details/126287926
今日推荐