当前位置: 代码迷 >> 综合 >> Android Fragment 监听物理返回 back 键
  详细解决方案

Android Fragment 监听物理返回 back 键

热度:63   发布时间:2024-02-20 10:34:07.0

在很多场景下,我们需要 Fragment 监听物理 back 键,而不是 Activity,这个时候我们只能做一些处理,来让 Fragment 拦截。

首先在 Fragment 中自定义回调方法,如下:

public boolean onBackPressed() {EventBus.getDefault().post(new ClosexxxxxEvent()); // 做我们想做的处理return true; // return true 代表自己处理}

然后,在 Activity 的 onBackPressed 方法中,进行相应的处理:

@Overridepublic void onBackPressed() {if (mxxxxxxFragment == null) { // 获取到你的 Fragment 实例mxxxxxxFragment = (BaseFragment) getSupportFragmentManager().findFragmentById(R.id.xxxxxx).getChildFragmentManager().findFragmentById(R.id.xxxxx);}if (mxxxxxxFragment != null && mxxxxxxFragment instanceof xxxxxxFragment&& !mxxxxxxFragment.isHidden()&& ((xxxxxxFragment) mxxxxxxFragment).onBackPressed()) { // 判断是否是我们需要的 Fragmentreturn; // 拦截 Activity 的 back 监听}super.onBackPressed();}

完!!!
 

  相关解决方案