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-based-testノードが見つかりません」というエラーが表示されます。plsは私を助けます。前もって感謝します。

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 に答える