如何在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> <\/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);
}
}
没有显示任何内容。怎么看我的结果?任何身体!
答案 0 :(得分:0)
我认为您的所有代码都是正确的,但您在第webView.loadUrl(value)
行的错误现在设置为onPostExecute()
,如下所示:
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
webView.loadData(value, "text/html", null);
}
这对我有用,希望对你也有用。