在Fragment中监听返回BACK按键
2017-07-30 11:56
381 查看
在谷歌官方推出NavigationView后,我们可以更方便的项目中使用一个Activity配合多个Fragment来实现多界面切换到效果,但是如果在Fragment中有跳转Fragment页面的问题时,点击返回键时需要返回时会有问题,因为Fragment默认是不接受返回按键的事件的,只有最外层的Activity会接受该事件,之前的做法一直是把所有的Fragment放到一个任务栈中,点击返回时依次调用栈中的Fragment显示,最近又有这样的需求的时候看到了以下这个方法直接在Fragment中拦截到了按键的返回的触发操作。
@Override public void onResume() { super.onResume(); //得到Fragment的根布局并使该布局可以获得焦点 getView().setFocusableInTouchMode(true); //得到Fragment的根布局并且使其获得焦点 getView().requestFocus(); //对该根布局View注册KeyListener的监听 getView().setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK){ new AlertDialog.Builder(getActivity()) .setTitle("退出提示") .setMessage("是否确定退出?") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { getActivity().finish(); } }).setNegativeButton("取消",null).show(); return true; } return false; } }); }
相关文章推荐
- Fragment中监听Back返回键
- Fragment中加载网页(WebView)监听Back键 ,实现返回上一页的功能
- 安卓学习笔记---Fragment 里面加webview 监听onback事件(WebView的返回以及整个退出事件)
- 在Fragment中监听返回键等物理按键的事件
- 关于fragment中监听返回键或者其它的按键
- 按键监听实现Fragment跳转
- Android小技巧 - Fragment监听返回键
- Fragment:判断是否显示当前Fragment viewpager ;Fragment监听按键点击事件;显示隐藏事件
- Unity3D与Android项目交互中无法监听back键返回的解决办法
- Android开发:监听当前View的左右滑动事件,并返回给当前的activity或者fragment
- Android 监听Fragment返回键的方式之一
- Android开发-Fragment返回键监听-AndroidStudio
- 在Fragment加了个webview 怎么监听返回事件
- Fragment 内实现对返回键的监听处理
- 防止用户误操作返回键导致程序退出,监听back键的状态做统一处理
- 仿ios滑动边缘返回,你用过SwipeBackActivity,是否用过SwipeBackFragment呢?
- 【Android】多Fragment切换以及在主Activity中判断返回按键
- Activity监听返回按键
- ionic2 监听back键;监听navbar的返回键
- Android 改写返回键事件监听,使得back键功能类似home键,让Acitivty退至后台时不被系统销毁