zoukankan      html  css  js  c++  java
  • Fragment中的按键监听

    在Fragmentzhong中写按键监听,有两处处需要注意:
    1)是否是当前显示的fragment;、
    2)在所依托的activity中的onKeyDown方法处理监听事件;
    其他地方和普通按键监听一样;
     
    下面用我刚写的例子说明:
    我在MainActivity中加入了一个CruiseFragment;我想在CruiseFragment中监听返回键:
    为此我做了如下处理:
    1)在MainActivity中写一个获取当前fragment的方法:
        private Fragment getVisibleFragment() {
      FragmentManager fragmentManager = MainActivity.this
        .getSupportFragmentManager();
      List<Fragment> fragments = fragmentManager.getFragments();
      for (Fragment fragment : fragments) {
       if (fragment != null && fragment.isVisible())
        return fragment;
      }
      return null;
     }
     
    2)在MainActivity中重写onKeyDown方法:
       public boolean onKeyDown(int keyCode, KeyEvent event) {
      if (getVisibleFragment() != null
        && (getVisibleFragment() instanceof CruiseFragment)
        && keyCode == KeyEvent.KEYCODE_BACK) {
       if (((CruiseFragment) getVisibleFragment()).mSidebarLayout
         .getVisibility() == View.VISIBLE) {
        ((CruiseFragment) getVisibleFragment()).hideSidebar();
        return true;
       }
      }
      return super.onKeyDown(keyCode, event);
     }
     
    最后,用手机调试,达到预期目标。
  • 相关阅读:
    Python的socket模块详解
    C语言中输入输出重定向,freopen的用法和实例
    JPG BMP TIF PNG 图像编码压缩率和编解码时间比较
    FFMPEG 内部YUV转RGB过程
    STL 中的数据结构
    FFmpeg 深度学习 livevideoStack 笔记
    Docker 编译tensorflow-1.14.0 静态库
    CMake 笔记
    Torch 学习
    Docker 学习笔记
  • 原文地址:https://www.cnblogs.com/shenchanghui/p/4933041.html
Copyright © 2011-2022 走看看