Python入门到实战 Python 树莓派USB uwp 网络营销视频 jquery循环遍历 jq获取最后一个子元素 python程序界面 linux自动获取ip git显示所有远程分支 docker查看所有容器 git下载代码到本地命令 input边框颜色 flutter 缺点 mysql教程 python写文件 python开发 python写入txt文件 python正则匹配数字 linux配置python环境 java抽象 java案例 java访问数据库 java编译环境 怎么安装java环境 java终止线程 java中continue linux系统简介 php实例代码 主板芯片组天梯图 脚本软件 千千静听老版本 小洛快跑 音乐狂app 只狼全鬼佛 寂静城 狮子狗打野天赋 卸载mysql 凯立德下载 主播音效
当前位置: 首页 > 学习教程  > 编程语言

Android Fragment 监听物理返回 back 键

2020/9/19 15:49:24 文章标签:

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

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

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

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

@Override
  public 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()) { // 判断是否是我们需要的 Fragment
      return; // 拦截 Activity 的 back 监听
    }
    super.onBackPressed();
  }

完!!!
 


本文链接: http://www.dtmao.cc/news_show_200323.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?