当前位置: 代码迷 >> 综合 >> AndroidX 下面如何在Fragment里面处理onBackPressed事件
  详细解决方案

AndroidX 下面如何在Fragment里面处理onBackPressed事件

热度:68   发布时间:2024-02-07 13:46:17.0

参考文档:https://developer.android.com/reference/androidx/activity/OnBackPressedDispatcher

最近在使用fragment,需要在fragment中处理back事件,除了传统百度的fragment处理back事件方法外,发现了一种新的处理onbackPressed的方法,记录一下。

在onAttach方法中:

    @Overridepublic void onAttach(@NonNull Context context) {super.onAttach(context);callback = new OnBackPressedCallback(true // default to enabled) {@Overridepublic void handleOnBackPressed() {showBackInfo();}};requireActivity().getOnBackPressedDispatcher().addCallback(this, callback);}public void showBackInfo() {Log.e(TAG, "showBackInfo: " + " fragment back info.");if (callback != null){callback.setEnabled(false);}requireActivity().getOnBackPressedDispatcher().onBackPressed();}如果消耗掉了back事件 则不需要setEnable(false)

 

  相关解决方案