Android中 webView调用JS出错的解决办法
问题
webView调用JS出错。
classTestJS{
......
publicTestJS(){
}
publicvoidsave(Stringdata){
webView.loadUrl("javascript:alert("+data+")");
}
......
}
W/WebView(2088):java.lang.Throwable:AWebViewmethodwascalledonthread'JavaBridge'.AllWebViewmethodsmustbecalledonthesamethread.(ExpectedLooperLooper(main,tid1){b3dbcb18}calledonLooper(JavaBridge,tid120){b44a1af8},FYImainLooperisLooper(main,tid1){b3dbcb18})
W/WebView(2088): atandroid.webkit.WebView.checkThread(WebView.java:2063)
W/WebView(2088): atandroid.webkit.WebView.loadUrl(WebView.java:794)
W/WebView(2088): atcom.ue.oa.activity.XFormActivity.alert(XFormActivity.java:180)
W/WebView(2088): atcom.ue.oa.activity.XFormActivity$FormActions.save(XFormActivity.java:193)
W/WebView(2088): atcom.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(NativeMethod)
W/WebView(2088): atcom.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27)
W/WebView(2088): atandroid.os.Handler.dispatchMessage(Handler.java:102)
W/WebView(2088): atandroid.os.Looper.loop(Looper.java:136)
W/WebView(2088): atandroid.os.HandlerThread.run(HandlerThread.java:61)
解决
将save方法修改为:
publicvoidsave(Stringdata){
webView.post(newRunnable(){
@Override
publicvoidrun(){
webView.loadUrl("javascript:alert("+data+")");
}
});
}
以上就是解决方法了,是不是很简单呢,希望小伙伴们能够喜欢。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下