昨天遇到个问题,android中的WebView,js中会调用android的原生代码,
但是报了异常,说子线程不能更改UI的那个异常,原来才知道,js回调到java中的方法是浏览器webView在新开的子线程做的操作,如果要更新UI必须要切换到主线程了,
@JavascriptInterface
private void logg(final String log)
{
log_container.post(new Runnable() {
@Override
public void run() {
if(log_container.getVisibility()!=View.VISIBLE)
{
log_container.setVisibility(View.VISIBLE);
}
String logsrc=logTextView.getText().toString();
String l=logsrc+log+"\n";
logTextView.setText(l);
}
});
}
这样就可以了,自己记录下