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);
     }
     
    最后,用手机调试,达到预期目标。
  • 相关阅读:
    Linux 常用命令 2
    Linux常用的命令
    linux的发行版
    操作系统介绍
    Python学习-列表的转换和增加操作
    Python学习-列表的修改,删除操作
    Python学习-初始列表
    Python学习-range的用法
    Python学习-字符串的基本知识
    Python学习-字符串函数操作3
  • 原文地址:https://www.cnblogs.com/shenchanghui/p/4933041.html
Copyright © 2011-2022 走看看