需求:fragment中使用WebView加载H5页面。
问题:H5页面跳转之后返回点击返回键不能够返回到上一页面。
解决方法:
1.在fragment所在的activity中重写onBackPressed:
/**
*@authorszx
* 双击返回键退出应用
*/
longprePressed=0;//第一次点击
longlastPressed=0;//第二次点击
@Override
public void onBackPressed() {
// 获得系统第二次点击的时间
lastPressed= System.currentTimeMillis();
if(lastPressed-prePressed>2000) {
//把第一次点击获得的时间赋值给第二次
prePressed=lastPressed;
//弹出吐司
ToastUtil.show("再点一次退出应用!");
}else{
//结束页面(销毁页面)
finish();
System.exit(0);
// Log.e("exit", "应用退出");
}
}
这里我做了双击退出应用,是按照点击的时间进行判断的。
2.在含有WebViewfragment中:
mWebView.setOnKeyListener(newView.OnKeyListener() {
@Override
public booleanonKey(View v, intkeyCode,KeyEvent event) {
if((keyCode == KeyEvent.KEYCODE_BACK) &&mWebView.canGoBack()) {
//这里使用handler发送消息来进行goBack
handler.sendEmptyMessage(1);
return true;
}
return false;
}
});
就这么多,这样不仅WebView能够进行页面返回,双击退出应用也没有问题。