按下WebView
的图像时打开一个对话框然后我收到此警告。我假设WebView
是他正在讨论的不同主题,但有没有办法解决这个问题?我只是在按下图像时执行一个功能。该函数位于片段内。
public View onCreateView(....
...
...
mWebView.addJavascriptInterface(new Object()
{
@JavascriptInterface
public void performClick()
{
enlargeImage();
}
}, "ok");
private void enlargeImage()
{
mImageView = new ImageView(getActivity());
loadImageFromURL(mImage, mImageView);
loadPhoto(mImageView);
}
这是loadPhoto函数,它给了我这个问题。
更确切地说,Dialog正在解决问题。如果有什么我可以用它替换它就像窗口一样。我拥有的和我想要的是一个显示我可以关闭的图像的窗口。
答案 0 :(得分:0)
来自javascript的回调将在后台线程上执行,而不是可以触及视图层次结构的UI线程。从您的javascript回调(即performClick
),您应该将任务发回UI线程。
此文档应该有所帮助:http://developer.android.com/training/multiple-threads/communicate-ui.html
答案 1 :(得分:0)
我需要将我的图片代码放在其中:
context.runOnUiThread(new Runnable()
{
...
...
...
});