昨天遇到个问题,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);
                }
            });




        }

这样就可以了,自己记录下

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐