android 在fragment中如何监听返回键,home键

原创 2016年08月30日 09:00:55

/*本文大部分来自:http://wujierd.iteye.com/blog/2104153  (作者:wujierd)*/

/*结合自己的多次拦截返回键尝试,并且加上了再按一次退出*/

在onCreateView()中:

lv_videolist.setFocusable(true);//这个和下面的这个命令必须要设置了,才能监听back事件。
        lv_videolist.setFocusableInTouchMode(true);
        lv_videolist.setOnKeyListener(backlistener);

在onCreateView()外部:

private View.OnKeyListener backlistener = new View.OnKeyListener() {
        @Override
        public boolean onKey(View view, int i, KeyEvent keyEvent) {
            if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) {
                if (i == KeyEvent.KEYCODE_BACK) {  //表示按返回键 时的操作
                   if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
                       getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
                       return true;
                   }else if(downBacknum==0){
                       Toast.makeText(context, "再按一次退出", Toast.LENGTH_SHORT).show();
                       downBacknum=1;
                       return true;
                   }
                    return false;    //已处理
                }
            }
            return false;
        }
    };

 

这里面要说明的就是如下几点:

1.如果你要拦截该返回键:那么if判断是你需要拦截的条件,在拦截消费之后,return true即可。

2.downBacknum是一个初始为0的int,这样的话,在第一次点击的时候,就符合downBacknum==0的条件会弹出吐司来消耗这个返回键,

之后downBacknum=1,if为假,即不消耗该事件。(这样就实现了退出询问)





版权声明:本文为博主原创文章,未经博主允许不得转载,转载注明出处及小王同学

Android点击Home键后fragment重新加载问题

应用在点击Home键时,会调用onSaveInstanceState方法,随后是OnStop方法,如果需要缓存数值,就保存在onSaveInstanceState方法中,如果是长期保存的数值,就需要保...
  • wangyetongsss
  • wangyetongsss
  • 2016年06月30日 15:07
  • 2061

Android点击Home键后fragment重新加载问题、重叠问题

现象: 同事的手机是OPPO-R9S,这个手机的垃圾回收真是吊炸天,activity中四个fragment,点击home键后再进入,显示退出时候的fragment,在切换其他fragment的时候,像...
  • androidwubo
  • androidwubo
  • 2017年05月05日 09:23
  • 766

Android小技巧 - Fragment监听返回键

这是Android小技巧系列的第一篇,以后会记录一些项目中使用的小技巧。 使用场景 在一个Fragment中按下返回键,先判断下PopupWindow是否显示,若显示,隐藏PopupWindow,否...
  • hyq912
  • hyq912
  • 2016年01月31日 12:37
  • 2953

Android 在Fragment中监听返回键的做法

我只针对一种来讨论  当你的Fragment是Activity中的一个容器布局被replace或add进来的 需要重写在Activity中重写 onKeyDown返回键操作的方法, 此方法代码 @...
  • meiwan123
  • meiwan123
  • 2016年12月14日 17:56
  • 832

优雅的让Fragment监听返回键

Fragment是不能得到物理返回键的监听的,
  • guxiao1201
  • guxiao1201
  • 2014年10月27日 14:40
  • 76839

Fragment中设置监听返回键的功能

首先创建一个抽象类BackHandledFragment,该类有一个抽象方法onBackPressed(),所有BackHandledFragment的子类在onBackPressed方法中处理各自对...
  • zl18603543572
  • zl18603543572
  • 2015年09月03日 18:15
  • 1310

fragment处理物理返回键

转载: http://blog.csdn.net/guxiao1201/article/details/40507387 fragment监听返回键。有时候在activity中点击了物理返回键,不只是...
  • a465456465
  • a465456465
  • 2016年02月23日 10:12
  • 4647

Android中对手机的返回键,Home键以及多功能切换键的监听

  • 2017年08月10日 13:01
  • 25.19MB
  • 下载

Android仿微信客户端+监听fragment返回键

  • 2015年07月21日 16:18
  • 2.47MB
  • 下载

Android设备Home、Menu和Back返回键的监听

在APP的操作中,有时需要监听系统按键,今天我就分享下自己的学习所得。 Menu键和Back键通过KeyDown事件就可以监听到,但Home键触发是系统事件,不能通过KeyDown简单的监控,但可以通...
  • nalw2012
  • nalw2012
  • 2015年11月06日 14:28
  • 3810
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android 在fragment中如何监听返回键,home键
举报原因:
原因补充:

(最多只允许输入30个字)