1

WebView にいくつかの HTML コードをロードする方法は?

レイアウトのあるからにHTMLコードを送信したい、コードを取得してページとして 表示したい。私のコードは次のとおりです。MainActivityWebViewActivityWebViewHTMLwebviewHTMLHTML

<p><span style=\"font-size: 12pt;\">Sample text<\/span><\/p>\r\n<p><span style=\"font-size: 14pt; color: #00ffff;\">Sample text<\/span><\/p>\r\n<p><span style=\"font-size: 36pt; color: #99cc00;\">Sample text<\/span><\/p>\r\n<p><span style=\"font-size: 36pt; color: #ff0000;\">Sample text<\/span><\/p>\r\n<p>&nbsp;<\/p>

そして私のWebViewActivityは:

String value;
private WebView webView;
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    value = getIntent().getStringExtra(MY_EXTRA);
    Log.w(MY_EXTRA, "Data recieved is >> " + value);

    setContentView(R.layout.webview);
    this.getIntent().putExtra("loadUrlTimeoutValue", 60);       

    webView = (WebView) findViewById(R.id.webView1);

    webView.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {             

            view.loadData(value, "text/html", null);
            return true;
        }
    });

    new getData().execute(null, null, null);

}


private class getData extends AsyncTask<Void, Void, Void> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        webView.getSettings().setDomStorageEnabled(true);
    }

    @SuppressLint("SetJavaScriptEnabled")
    @Override
    protected Void doInBackground(Void... params) {

        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(
                false);
        webView.getSettings().setSupportMultipleWindows(false);
        webView.getSettings().setSupportZoom(false);
        webView.getSettings().setRenderPriority(
                WebSettings.RenderPriority.HIGH);
        webView.getSettings().setSavePassword(false);
        webView.setVerticalScrollBarEnabled(false);
        webView.setHorizontalScrollBarEnabled(false);
        webView.getSettings().setAppCacheEnabled(true);
        webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
        webView.getSettings().setAppCacheMaxSize(200);
        webView.getSettings().setDatabaseEnabled(true);
        webView.clearCache(true);
        // webView.clearHistory();
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        webView.loadUrl(value);
    }

}

今、私は自分のHTMLコードの結果を見ることができず、何webviewも表示されません。私の結果を見るには?どんな体でも!

4

1 に答える 1

0

私はあなたのすべてのコードが正しいと思いますが、あなたは間違っているので、次のようwebView.loadUrl(value)に設定してくださいonPostExecute()

@Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
        webView.loadData(value, "text/html", null);
    }

これは私にとってはうまくいきます。あなたにもうまくいくことを願っています。

于 2013-03-06T21:10:54.960 に答える