android -Webview 显示纯文本而不是 html
android -Webview shows plain text instead of html
这是我的示例 html 代码,假设转换为 html,我已经在几个应用程序上测试了这段代码,它工作正常。这是代码:
WebSettings settings = des.getSettings();
settings.setDefaultTextEncodingName("utf-8");
settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
settings.setSaveFormData(false);
settings.setSupportZoom(false);
int fontsize=15;
if(fontsize>20)fontsize=13;
settings.setDefaultFontSize(fontsize);
settings.setBuiltInZoomControls(false);
des.loadData(
"<html><head><style>@font-face { font-family: myface;src: url(\"file:///android_asset/yekan.ttf\");" +
"BODY, HTML {background: transparent; } body,div { font-family: myface;} </style></head><body><div style='text-align: justify; line-height: 23px;float:right' dir='rtl'>"
+ dataC.get(0).get("tozih").replace(""","'") + "</div></body></html>",
"text/html; charset=utf-8", "UTF-8");
html 是这样的:
<p>ok</p>
当我 运行 应用程序时,WebView
准确地显示了上面的行,它没有显示为 html。
这是为什么?我应该怎么做才能解决这个问题?
谢谢
您是否尝试记录 dataC.get(0).get("tozih")
的内容以查看它是否真的如您所料?例如转义码中的 <
等是什么?
也许你应该在 dataC.get(0).get("tozih")
上尝试 .replace(""","'").replace("<","<").replace(">",">")
这是我的示例 html 代码,假设转换为 html,我已经在几个应用程序上测试了这段代码,它工作正常。这是代码:
WebSettings settings = des.getSettings();
settings.setDefaultTextEncodingName("utf-8");
settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
settings.setSaveFormData(false);
settings.setSupportZoom(false);
int fontsize=15;
if(fontsize>20)fontsize=13;
settings.setDefaultFontSize(fontsize);
settings.setBuiltInZoomControls(false);
des.loadData(
"<html><head><style>@font-face { font-family: myface;src: url(\"file:///android_asset/yekan.ttf\");" +
"BODY, HTML {background: transparent; } body,div { font-family: myface;} </style></head><body><div style='text-align: justify; line-height: 23px;float:right' dir='rtl'>"
+ dataC.get(0).get("tozih").replace(""","'") + "</div></body></html>",
"text/html; charset=utf-8", "UTF-8");
html 是这样的:
<p>ok</p>
当我 运行 应用程序时,WebView
准确地显示了上面的行,它没有显示为 html。
这是为什么?我应该怎么做才能解决这个问题?
谢谢
您是否尝试记录 dataC.get(0).get("tozih")
的内容以查看它是否真的如您所料?例如转义码中的 <
等是什么?
也许你应该在 dataC.get(0).get("tozih")
.replace(""","'").replace("<","<").replace(">",">")