final Context myApp = this; /* An instance of this class will be registered as a JavaScript interface */ class MyJavaScriptInterface { @SuppressWarnings("unused") public void showHTML(String html) { new AlertDialog.Builder(myApp) .setTitle("HTML") .setMessage(html) .setPositiveButton(android.R.string.ok, null) .setCancelable(false) .create() .show(); } } final WebView browser = (WebView)findViewById(R.id.browser); /* JavaScript must be enabled if you want it to work, obviously */ browser.getSettings().setJavaScriptEnabled(true); /* Register a new JavaScript interface called HTMLOUT */ browser.addJavascriptInterface(new MyJavaScriptInterface(), "HTMLOUT"); /* WebViewClient must be set BEFORE calling loadUrl! */ browser.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { /* This call inject JavaScript into the page which just finished loading. */ browser.loadUrl("javascript:window.HTMLOUT.showHTML(''+document.getElementsByTagName('html')[0].innerHTML+'');"); } }); /* load a web page */ browser.loadUrl("http://lexandera.com/files/jsexamples/gethtml.html");
进入上面的代码后
new AlertDialog.Builder(myApp) .setTitle("HTML") .setMessage(html) .setPositiveButton(android.R.string.ok, null) .setCancelable(false) .create() .show();
我想将按钮的可见性设置为 true 和 false,但它给了我错误,有人知道为什么会发生这种情况并有任何解决方案吗? 提前致谢
最佳答案
终于找到了错误的解决方案。我正在使用:
btn.post(new Runnable() {
@Override
public void run() {
btn.requestFocus();
btn.setVisibility(0);
}
}
之后,当我想显示按钮时,我将启动一个新线程
关于javascript - 需要 WebView 的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5788171/