如何在webview中加载一些HTML代码?

时间:2013-03-06 21:05:07

标签: android android-webview

如何在webview中加载一些html代码?

我想将HTML的{​​{1}}代码发送到MainActivity的{​​{1}}布局,我希望得到WebViewActivity代码并显示在WebView上作为HTML页面。 我的webview代码是:

HTML

我的HTML是:

<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); } } 没有显示任何内容。怎么看我的结果?任何身体!

1 个答案:

答案 0 :(得分:0)

我认为您的所有代码都是正确的,但您在第webView.loadUrl(value)行的错误现在设置为onPostExecute(),如下所示:

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

这对我有用,希望对你也有用。