webview在fragment中返回键的处理

  1. public class AFragment extends Fragment {  
  2.   
  3.     private WebView webView;  
  4.     // 需要加载的网页URL地址  
  5.     private String url=  
  6.             "http://my.csdn.net/my/mycsdn";  
  7.     public MarketFragment() {  
  8.         // Required empty public constructor  
  9.     }  
  10.   
  11.   
  12.     @Override  
  13.     public View onCreateView(LayoutInflater inflater, ViewGroup container,  
  14.                              Bundle savedInstanceState) {  
  15.         View view=inflater.inflate(R.layout.fragment_market, container, false);  
  16.         webView = (WebView) view.findViewById(R.id.wv_market_jd);  
  17.   
  18.         initWebView();  
  19.         return view;  
  20.     }  
  21.   
  22.     private void initWebView() {  
  23.         webView.setWebViewClient(new WebViewClient() {  
  24.   
  25.             @Override  
  26.             public boolean shouldOverrideUrlLoading(WebView view, String url) {  
  27.                 //系统默认会打开系统浏览器去打开网页,为了要显示在自己的webview中必须设置这个属性  
  28.                 view.loadUrl(url);  
  29.   
  30.                 return super.shouldOverrideUrlLoading(view, url);  
  31.             }  
  32.   
  33.             //加载开始时调用  
  34.   
  35.             @Override  
  36.             public void onPageStarted(WebView view, String url, Bitmap favicon) {  
  37.                 super.onPageStarted(view, url, favicon);  
  38.             }  
  39.             // 加载结束时调用  
  40.   
  41.             @Override  
  42.             public void onPageFinished(WebView view, String url) {  
  43.                 super.onPageFinished(view, url);  
  44.             }  
  45.   
  46.   
  47.         });  
  48.   
  49.         webView.setWebChromeClient(new WebChromeClient() {  
  50.             //加载进度  
  51.             @Override  
  52.             public void onProgressChanged(WebView view, int newProgress) {  
  53.                 Log.e("WebView>>>>>>>", newProgress + "");  
  54.                 super.onProgressChanged(view, newProgress);  
  55.             }  
  56.   
  57.   
  58.             @Override  
  59.             public void onRequestFocus(WebView view) {  
  60.                 super.onRequestFocus(view);  
  61.             }  
  62.   
  63.             @Override  
  64.             public void onCloseWindow(WebView window) {  
  65.                 super.onCloseWindow(window);  
  66.             }  
  67.   
  68.             @Override  
  69.             public boolean onJsAlert(WebView view, String url, String message, JsResult result) {  
  70.                 return super.onJsAlert(view, url, message, result);  
  71.             }  
  72.   
  73.             @Override  
  74.             public boolean onJsConfirm(WebView view, String url, String message, JsResult result) {  
  75.                 return super.onJsConfirm(view, url, message, result);  
  76.             }  
  77.   
  78.         });  
  79.   
  80.         webView.loadUrl(url);  
  81.         // 得到setting  
  82.         WebSettings webSettings=webView.getSettings();  
  83.         //设置支持Javascript  
  84.         webSettings.setJavaScriptEnabled(true);  
  85.         //支持的语言类型  
  86.         webSettings.setDefaultTextEncodingName("UTF-8");  
  87.         //设置可以访问文件  
  88.         webSettings.setAllowFileAccess(true);  
  89.   
  90.         webSettings.setDomStorageEnabled(true);  
  91.   
  92.   
  93. <span style="font-size:24px;color:#ff0000;background-color: rgb(255, 255, 255);">//关键代码  
  94.         webView.setOnKeyListener(new View.OnKeyListener() {  
  95.             @Override  
  96.             public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {  
  97.                 if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) {  
  98.                     if (keyCode == KeyEvent.KEYCODE_BACK ) {  
  99.                         //这里处理返回键事件  
  100.                         if (webView.canGoBack()){  
  101.                             webView.goBack();  
  102.                             Toast.makeText(getActivity(), "ok", Toast.LENGTH_SHORT).show();  
  103.                             return true;  
  104.                         }  
  105.                     }  
  106.                 }  
  107.                 return false;  
  108.             }  
  109.         });</span>  
  110.     }  
  111.   
  112.     @Override  
  113.     public void onDestroy() {  
  114.         super.onDestroy();  
  115.         //清除记录  
  116.         webView.clearCache(true);  
  117.         webView.clearHistory();  
  118.         webView.clearFormData();  
  119.   
  120.         webView.destroy();  
  121.  


-------------------------------------------------------------------------------












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值