38

私は、Android 2.3.3で実行されているエミュレーターを使用して開発しているAndroidアプリケーションを、フレームレイアウトに埋め込まれたWebViewを線形レイアウト(垂直)にネストしています。どんなコードを使っても、実際には何もしません。Android アプリケーションのアクセス許可をインターネットに設定しています。HTML コードだけを読み込もうとしても。空白の白いページが表示されます。エラーも何もありません。logcatにも何もありません。

WebView wview = (WebView)findViewById(R.id.webView1);
wview.getSettings().setJavaScriptEnabled(true);

これらの 3 つすべてを試して、何かを webview にロードしようとしました。

wview.loadUrl("http://www.google.com");
wview.loadData("<HTML><BODY><H3>Test</H3></BODY></HTML>","text/html","utf-8");
wview.loadDataWithBaseURL(null, "<HTML><BODY><H3>Test</H3></BODY></HTML>","text/html","utf-8",null);

3つすべてで同じ結果が得られます。何もない。

何か案は?

4

15 に答える 15

73
WebSettings settings = wbView.getSettings();
settings.setDomStorageEnabled(true);
于 2015-06-25T02:59:18.623 に答える
12

コードの一部を編集すれば大丈夫だと思います.以下の私の場合のやり方を見てください.この方法で試してみてください..Web
ページを表示するため

final WebView wbView = (WebView) findViewById(R.id.WebView);

WebSettings settings = wbView.getSettings();
settings.setJavaScriptEnabled(true); 
wbView.loadUrl("https://play.google.com/store/apps");
wbView.clearView();
wbView.measure(100, 100);
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);

HTML を表示するには:
このチュートリアルを参照してください。

于 2013-01-13T07:49:35.050 に答える
9

null を渡す代わりに、空Stringを渡す必要があります。例:""
したがって、次のように呼び出す必要があります。
wview.loadDataWithBaseURL("", "<HTML><BODY><H3>Test</H3></BODY></HTML>","text/html","utf-8","");

于 2013-01-13T07:01:04.097 に答える
4

これらはどちらもWebビューを適切に機能させるための有効な支援であったため、+1を付けましたが、それは私の問題の解決策ではありませんでした.

私が気付いていなかったのは、webview レイアウトのインクルードに wrap_content があり、これにより高さが 0px になったことです。これを fill_parent に設定することで、問題を解決しました。(白い背景の Webview と白い背景のアプリでは、レイアウト デザイナーでフルハイトとして表示されたときに、フルハイトではないことを実際に伝えることはできません。)

でも助けてくれてありがとう!

于 2013-03-24T20:45:54.637 に答える
4

clearView廃止されました。

使用する:

webView.loadUrl("about:blank")
于 2014-09-04T17:03:50.970 に答える
3

webview レイアウトで wrap_content を fill_parent に変更します。それは私のために働いた

于 2016-07-28T23:41:04.433 に答える
1

必要なのは WebViewClient だと思います。webviewclient を設定した後、webview.loadUrl(_url); を呼び出します。このようなもの....

private void loadUrlInWebView(String _URL){
    WebView myWebView = (WebView) findViewById(R.id.webviewer);     

    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setUseWideViewPort(true);
    webSettings.setLoadWithOverviewMode(true);

    myWebView.setWebViewClient(new MyWebViewClient());
    myWebView.loadUrl(_URL);
}

private class MyWebViewClient extends WebViewClient{
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {         

            view.loadUrl(url);

        return true;
    }

    @Override
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
        Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();
    }
}
于 2014-10-31T03:52:29.900 に答える
0

loadDataWithBaseURL を使用するだけです

        loadDataWithBaseURL(null,"html content" , "text/html" , "utf-8",null)
于 2021-10-26T11:55:25.780 に答える