通常Activity通过viewpager加载多个fragment中,如果fragment中出现多个webview,则无法判断activity的返回事件和webview的返回事件,针对这种情况,我们应该在fragment中做出处理:
1.判断fragment中webview是否需要返回:
/**
* 是否返回
* @return
*/
public boolean isGoBack(){
if(wv_financemarket!=null&&wv_financemarket.canGoBack()){
return true;
}else{
return false;
}
}
2.执行webview的返回操作
/**
* 返回
* @return
*/
public void goBack(){
wv_financemarket.goBack();
}
3.在Activity中的返回方法逐一判断每个webview的状态,如需返回,则不执行finish();方法。
@Override
public void onBackPressed() {
if(fragment1.isGoBack()){
fragment1.goBack();
return;
}
if(fragment2.isGoBack()){
fragment2.goBack();
return;
}
if(fragment3.isGoBack()){
fragment3.goBack();
return;
}
if(!fragment1.isGoBack()&&!fragment2.isGoBack()&&!fragment3.isGoBack()){
finish();
return;
}
super.onBackPressed();
}