android中的WebView,JS回调java中的代码线程在子线程

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




        }

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

猜你喜欢

转载自blog.csdn.net/fagawee/article/details/103343718