fragment中的WebView返回上一页

时间:2023-03-10 06:17:41
fragment中的WebView返回上一页
 public final class Text1Fm extends Fragment {  

     static WebView mWeb;
private View mContentView;
private static final String APP_CACAHE_DIRNAME = "/webcache"; private Handler handler = new Handler() {
@Override
public void handleMessage(Message message) {
switch (message.what) {
case 1: {
mWeb.goBack();
}
break;
}
}
};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mContentView = inflater.inflate(R.layout.baiduwebview, null);
mWeb = (WebView) mContentView.findViewById(R.id.wv); WebSettings settings = mWeb.getSettings();
settings.setJavaScriptEnabled(true);
mWeb.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
mWeb.getSettings().setSupportZoom(true); //支持放大缩小
mWeb.getSettings().setBuiltInZoomControls(true);
mWeb.loadUrl("你的网址");
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
mWeb.getSettings().setSaveFormData(true);// 保存表单数据
mWeb.setWebViewClient(new WebViewClient());
String cacheDirPath = getActivity().getFilesDir().getAbsolutePath() + APP_CACAHE_DIRNAME; //缓存路径 mWeb.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //缓存模式
mWeb.getSettings().setAppCachePath(cacheDirPath); //设置缓存路径
mWeb.getSettings().setAppCacheEnabled(true); //开启缓存功能 mWeb.setOnKeyListener(new View.OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWeb.canGoBack()) {
if(keyEvent.getAction()==KeyEvent.ACTION_DOWN){ //只处理一次
handler.sendEmptyMessage(1);
}
return true;
}
return false;
} });
return mContentView;
}
}