【发布时间】:2011-08-12 21:21:20
【问题描述】:
最终上下文 myApp = this;
/* 这个类的一个实例将被注册为一个 JavaScript 接口 */
MyJavaScriptInterface 类
{
@SuppressWarnings("未使用")
公共无效showHTML(字符串html)
{
新的 AlertDialog.Builder(myApp)
.setTitle("HTML")
.setMessage(html)
.setPositiveButton(android.R.string.ok, null)
.setCancelable(假)
。创建()
。显示();
}
}
最终 WebView 浏览器 = (WebView)findViewById(R.id.browser);
/* 如果你想让 JavaScript 工作,必须启用它,显然 */
browser.getSettings().setJavaScriptEnabled(true);
/* 注册一个名为 HTMLOUT 的新 JavaScript 接口 */
browser.addJavascriptInterface(new MyJavaScriptInterface(), "HTMLOUT");
/* WebViewClient 必须在调用 loadUrl 之前设置! */
browser.setWebViewClient(new WebViewClient() {
@覆盖
public void onPageFinished(WebView 视图,字符串 url)
{
/* 此调用将 JavaScript 注入刚刚完成加载的页面。 */
browser.loadUrl("javascript:window.HTMLOUT.showHTML(''+document.getElementsByTagName('html')[0].innerHTML+'');");
}
});
/* 加载一个网页 */
browser.loadUrl("http://lexandera.com/files/jsexamples/gethtml.html");
在上面的代码之后
新的 AlertDialog.Builder(myApp) .setTitle("HTML") .setMessage(html) .setPositiveButton(android.R.string.ok, null) .setCancelable(假) 。创建() 。显示();我想将按钮的可见性设置为真和假,但它给了我错误有人知道它为什么会发生并有任何解决方案吗? 提前致谢
【问题讨论】:
-
请将
logcat的相关输出发布到您的问题中。 -
我收到以下错误:- 04-26 15:40:43.485: INFO/myapp(656): android.view.ViewRoot$CalledFromWrongThreadException: 只有创建视图层次结构的原始线程可以触摸它的观点。
标签: javascript android html button webview