直接给代码*-*

Fragment:

  public boolean onKeyDown(int keyCode, KeyEvent event){if ((keyCode == KeyEvent.KEYCODE_BACK)){//执行操作((MainActivity) Objects.requireNonNull(getActivity())).viewPager.setCurrentItem(3); }return true;}

MainActivity:

 @BindView(R.id.viewPager)public ViewPager viewPager;Fragment currentFragment;
   viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){@Overridepublic void onPageScrolled(int position, float positionOffset, int positionOffsetPixels){}@Overridepublic void onPageSelected(int position){FragmentManager fragmentManager = MainActivity.this.getSupportFragmentManager();List<Fragment> fragments = fragmentManager.getFragments();currentFragment=fragments.get(position);……}@Overridepublic void onPageScrollStateChanged(int state){}});setupViewPager(viewPager);
 private void setupViewPager(ViewPager viewPager){adapter = new ViewFragmentPagerAdapter(getSupportFragmentManager());adapter.addFragment(MainFragment.newInstance(getResources().getString(R.string.app_title)));adapter.addFragment(new Fragment());……viewPager.setAdapter(adapter);viewPager.setOffscreenPageLimit(5);}
   // 用来计算返回键的点击间隔时间private long exitTime = 0;@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event){if(currentFragment!=null&&currentFragment instanceof AboutApp){((AboutApp)currentFragment).onKeyDown(keyCode, event);return true;} else  if (isTaskRoot()){if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){if ((System.currentTimeMillis() - exitTime) > 2000){Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();exitTime = System.currentTimeMillis();}else{finish();}return true;}}return super.onKeyDown(keyCode, event);}

Android Fragment 监听返回键相关推荐

  1. android重写返回按钮点击事件,Android Fragment监听返回键

    场景:在项目中做联系人界面时,需要按名字和按部门显示联系人,此处使用2个fragment切换显示,按部门显示需要体现部门层级关系,需要实现点击返回上级部门.因为Fragment并不能像在Actvity ...

  2. Android 如何监听返回键,弹出一个退出对话框

    Android 如何监听返回键点击事件,并创建一个退出对话框, 防止自己写的应用程序不小心点击退出键而直接退出.自己记录下这个简单的demo,备用. 注:如下代码当时是从网上copy过来的,现在忘了它 ...

  3. android设置返回按钮无效,Android onKeyDown监听返回键无效的解决办法

    Android onKeyDown监听返回键无效的解决办法 当我们的Activity继承了TabActivity,在该类中重写onKeyDown是监听不到返回键的, 具体解决方法如下: 重写dispa ...

  4. Android下监听返回键、home键、任务键

    1.监听返回键 @Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYC ...

  5. Fragment监听返回键

    Activity 比较容易监听物理键返回事件(onBackPressed):Fragment却不能 假设一个FragmentActivity包含3个Fragment,用户一般期望在返回时,逐层返回到F ...

  6. 优雅的让Fragment监听返回键

    转载请注明出处:http://write.blog.csdn.net/postedit/40507387 Activity可以很容易的得到物理返回键的监听事件,而Fragment却不能.假设Fragm ...

  7. Android onKeyDown监听返回键无效

    当我们的Activity继承了TabActivity,在该类中重写onKeyDown是监听不到返回键的, 具体解决方法如下: 重写dispatchKeyEvent /*** 退出*/@Override ...

  8. 在Android中实现监听 返回键,主键,菜单键

    一.监听 返回键 onKeyDown方法和onBackPressed方法 onKeyDown: 是当某个按键被按下是触发.所以也有人在点击返回键的时候去执行该方法来做判断.(该方法只是android ...

  9. Android监听返回键、Home键+再按一次返回键退出应用

    Android监听返回键需重写onKeyDown()方法 Home键keyCode==KeyEvent.KEYCODE_HOME [java] view plaincopy @Override pub ...

最新文章

  1. java.lang.NoSuchMethodError: No virtual method placeholder(I)Lcom/bumptech/
  2. python访问数据库如何解决高并发_怎样解决数据库高并发的问题
  3. 计算机网络技术与应用教程期末考试,2011大学计算机网络技术与应用教程客观题期末复习(含判断题,属于公共课程,使用)...
  4. 【Flask】在g对象中存放List,实现在捕获异常后继续执行for循环
  5. ALIN10129-自查方案
  6. android模拟器游戏按键映射,刺激战场模拟器按键映射对比 逍遥安卓模拟器智能按键最好...
  7. 转iOS 多线程 RunLoop 机制 (三)
  8. Tuxera NTFS对磁盘进行不同格式转换
  9. 串口波形显示软件SerialChart的使用
  10. 如何设计出令人惊叹的关卡:来自策划、美术与程序的标准
  11. java linux 时间戳转时间_SpringMVC全局参数转换——linux时间戳转换LocalDateTime
  12. 国产crm系统哪家公司做的最好?
  13. 亚马逊SP-API市场端点接口文档整理
  14. win10系统版本更新旧版本文件清理:如何安全删除win10中的Windows.old文件夹
  15. 时差,不同国家之间的大概时差
  16. eclipse安装red5插件,创建red5项目
  17. CentOS的下载和安装
  18. Vuex基本使用的总结
  19. Simulink建模:一阶滤波模型
  20. 985 博士真的会舍弃华为年薪接近 100 万 offer,去选择年薪 20 万的公务员吗?

热门文章

  1. .NET 6 攻略大全(二)
  2. 暴库也不怕!EF Core加密存储数据
  3. Windows 11 快速体验:开始菜单居中,全系圆角设计!
  4. NET问答: String 和 string 到底有什么区别?
  5. .NET 云原生架构师训练营(模块二 基础巩固 安全)--学习笔记
  6. .NET Core 下使用 Kafka
  7. .NET和.NET Core Web APi FormData多文件上传
  8. kubernetes+Azure DevOps实现.Net Core项目的自动化部署均衡负载
  9. .NET Core接入ElasticSearch 7.5
  10. 告别2019,写给2020:干好技术,要把握好时光里的每一步