关闭url检测的webview

时间:2013-09-10 10:55:44

标签: android webview

我的活动中有一个webview,我需要在加载最终网址后关闭它。 我在自定义客户端中尝试destroy()但是不允许,finish()关闭了整个应用,后退键也关闭了应用。有没有办法只删除webview并返回其余的活动。

    @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.login);

            WebView webView = (WebView) findViewById(R.id.webView);
            webView.setWebViewClient(new MyWebViewClient());
            webView.getSettings().setJavaScriptEnabled(true);
            webView.loadUrl(myUrl);
       }
      private class MyWebViewClient extends WebViewClient {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                if (url.matches(PATTERN)) {
                    Matcher matcher = Pattern.compile(PATTERN).matcher(url);
                    result = matcher.matches() ? matcher.group(1) : null;
  //                webview.destroy(); //doesn't work as destroy cannot be called from here 
                    return false;
                }
                view.loadUrl(url);
                return true;
            }
        }

1 个答案:

答案 0 :(得分:2)

您可以通过以下方式从父级删除webView:

ViewGroup vg = (ViewGroup)webView.getParent();
if(vg != null)
   vg.removeView(webView);

或者只尝试使用webView.setVisibility(View.GONE);