Fragment中含有WebView,回退按键交给WebView的处理
来源:互联网 发布:金山数据恢复安卓版 编辑:程序博客网 时间:2024/06/06 01:29
完美解决方案:
在FramgentAvitvity中处理,重写onKeyDown函数,在 keyCode==KeyEvent.KEYCODE_BACK时判断当前是哪个Fragment,得到这个Fragment之后获得对应的WebView,操作webView.goBack()。
示例代码:
private long mExitTime;
public static final int TOAST_SHOW_EXIT=1000;
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (currentFragmentIndex==0) {
haswebviw((WebView)homeFragment.getView().findViewById(R.id.wb_home));
}else if(currentFragmentIndex==1){
haswebviw((WebView)myAppFragment.getView().findViewById(R.id.wb_myapp));
}else if(currentFragmentIndex==2){
haswebviw((WebView)messageCenterFragment.getView().findViewById(R.id.wb_message));
}
else{
exitBy2Click();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
public void haswebviw(WebView webView)
{
if(webView.canGoBack())
{
webView.goBack();
}
else{
exitBy2Click(); //这是退出方法
}
}
private void exitBy2Click() {
if ((System.currentTimeMillis() - mExitTime) > 2000) {
Toast.makeText(this, "再点击返回一次退出", TOAST_SHOW_EXIT).show();
mExitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
}
- Fragment中含有WebView,回退按键交给WebView的处理
- Fragment中添加一个WebView,webview的回退问题
- Webview在Fragment中加载页面后的回退
- 在Fragment中webView的回退问题
- Fragment中加载webview页面后按实体键的回退问题
- 在Fragment中处理WebView的返回事件
- webView回退功能
- android 设置webview回退
- webView中cookie的处理:webView+cookie+okhttp
- Activity搭载多个fragment中webview返回事件的处理
- webview中利用onKeyDown监听物理按键返回的问题
- Android TV中WebView的按键响应问题
- Fragment+ActionBar回退箭头的处理
- webview中处理js的对话框
- WebView的缓存处理(中)
- WebView的超时处理
- webview的404处理
- WebView的超时处理
- LAMP运行环境
- 【caffe-windows】 caffe-master 之 matlab接口配置
- 左神的书——《程序员代码面试指南》之打印两个有序链表的公共部分 c++实现
- 课程实践:大奖赛计分
- 部分软件在ubuntu14.04下的安装参考
- Fragment中含有WebView,回退按键交给WebView的处理
- MySql 学习笔记
- 个人整理的关于UITableViewCell的常用属性的知识,如有雷同,纯属巧合
- 利用openstack建设适合中小型互联网企业的私有云(五)
- c++与C#的区别
- Download Linux Kernel
- Scala练习
- SQL server in 用法
- 《温故而知新》系列之自定义View基本知识