Fragment监听返回键

来源:互联网 发布:mac装win10怎么切换 编辑:程序博客网 时间:2024/05/09 21:00

官方在Fragment中没有定义返回键的监听,有时候我们需要在Fragment中监听返回键,字节定义接口回掉是一种比较简单的方法


  • 在Activity定义一个接口 OnBackPressedListener 接口中的方法 onBackPressed()
public interface OnBackPressedListener {    boolean onBackPressed();}
  • 在Activity中声明接口对象 , OnBackPressedListener mBackPressed ;定义回掉的方法 setOnBackPressedListener(OnBackPressedListener listener) 将接口对象赋值给this.mBackPressed = listener;
 OnBackPressedListener mBackPressed;    public void setOnBackPressedListener(OnBackPressedListener listener) {        this.mBackPressed = listener;    }
  • 在事件发生的位置调用接口中的方法 mBackPressed.onBackPressed();
 /**     * 返回键的监听回调     */    @Override    public void onBackPressed() {        if (mBackPressed != null) {            mBackPressed.onBackPressed();        } else {            return;        }    }
  • 在Fragment中调用MainActivity中的setOnBackPressedListener,在回掉的方法中处理返回键对应的事件
 // 监听按下返回键        ((MainActivity) mContext).setOnBackPressedListener(new OnBackPressedListener() {            @Override            public boolean onBackPressed() {                // do something                return false;            }        });
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机显示连接itunes怎么办 苹果手机下载不信任怎么办 暗影格斗3进不去怎么办 喝酒第二天头痛怎么办 加油忘记拔枪怎么办 刷机完成后怎么办 苹果8按键音太小怎么办 电脑蓝屏出英文怎么办 win10蓝屏重启怎么办 苹果手机变蓝屏怎么办 nga账号声望不足怎么办 鬃狮蜥胆小咬人怎么办 小狗拉稀脱水了怎么办 泰迪刚到家老叫怎么办 开车遇到拉死人怎么办 斯诺克解不到球怎么办 颈椎和腰椎不好怎么办 车祸肇事者不赔偿怎么办 交强险自赔吃亏怎么办 交通事故保险不结案怎么办 马蚁借呗超出一天还款怎么办 千里追风油太辣怎么办 蛀牙牙肉肿痛怎么办 转转删除的东西怎么办 专票开给了个人怎么办 手机用户密码忘了怎么办 手机用户密码忘记了怎么办 悦借钱账户锁定怎么办 手势密码锁忘了怎么办 农行密码忘了怎么办 小恩爱忘记账号怎么办 乐才忘记密码怎么办 ipad忘记密码停用怎么办 ipad忘记ld密码怎么办 此用户已屏蔽怎么办? 买房换名字怎么办手续 起诉对方找不到人怎么办 想离婚找不到对方怎么办 验证码次数超限怎么办 志愿填不进去 怎么办 微博小号死了怎么办