需求:fragment中使用WebView加載H5頁面诗芜。
問題:H5頁面跳轉之后返回點擊返回鍵不能夠返回到上一頁面。
解決方法:
1.在fragment所在的activity中重寫onBackPressed:
/**
*@authorszx
* 雙擊返回鍵退出應用
*/
longprePressed=0;//第一次點擊
longlastPressed=0;//第二次點擊
@Override
public void onBackPressed() {
// 獲得系統(tǒng)第二次點擊的時間
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發(fā)送消息來進行goBack
handler.sendEmptyMessage(1);
return true;
}
return false;
}
});
就這么多栓霜,這樣不僅WebView能夠進行頁面返回翠桦,雙擊退出應用也沒有問題。