1

我的应用程序是动态创建 Web 视图,还设置动态创建的 Web 视图宽度、高度和 x、y 位置。我正在设置宽度、高度、x、y 位置并在自定义对话框上调用 Web 视图客户端。但是 web 视图客户端没有调用。当我尝试不使用 Web 视图客户端时,指定的 URL 会加载到默认浏览器中。但我的主要要求是重新调整 Web 视图的大小并将其加载到我的活动中。当运行程序 web 视图以白色显示但 url 没有加载 web 客户端时,应该覆盖不调用的方法。我的代码如下

try
{
    wv[tmpm].getSettings().setJavaScriptEnabled(true);
    wv[tmpm].setWebViewClient(new Myweb());
    //wv[tmpm].setWebViewClient(new Myweb);
    //wv[tmpm].loadUrl(url);
}
Myweb class given below

private class Myweb extends WebViewClient
{
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        Log.d("In extends webview client","HIiiiiiiiiiiiiiii");
        view.loadUrl(url);
        return true;};
    }
}

登录 shouldoverrideUrl 未显示在 logcat 中,当我触摸 Web 视图时,我在 log cat 中收到错误“不应发生:未找到基于 rect 的测试节点”。请帮助我。提前致谢。

4

1 回答 1

3

我自己解决了........下面给出的正确代码..

 try

   {

      wv[tmpm].setWebViewClient(new WebViewClient());
      wv[tmpm].requestFocus();
      wv[tmpm].getSettings().setJavaScriptEnabled(true);
      wv[tmpm].loadUrl(url);
   }

下面给出的 Myweb 类

 private class Myweb extends WebViewClient
     {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            try
            {
                Log.d("In extends webview client","HIiiiiiiiiiiiiiii");
                view.loadUrl(url);
            }
            catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }
            return true;

        }
        @Override
        public void onPageFinished(WebView view, String url) {
            try {

            } catch (Exception we) {
                we.printStackTrace();
            }
            super.onPageFinished(view, url);
        }

     }  
于 2012-11-08T09:02:30.980 回答