• 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);
     }
     
    最后,用手机调试,达到预期目标。
  • 相关阅读:
    Spring 基础学习
    Swagger basics (one)
    Handsontable Basics V7(one)
    JavaScript 对象
    CSS 基础总结
    Shell Programming(three)
    Shell Programming(two)
    Shell Programming(one)
    HTML标签总结
    jQuery 基础
  • 原文地址:https://www.cnblogs.com/shenchanghui/p/4933041.html
Copyright © 2020-2023  润新知