我有一个包含WebView的布局,以及一个以它为中心的ProgressBar。需要显示进度条并隐藏编程(因为Web内容加载)。但是,使用loading.setVisibility(View.VISIBLE);
将ProgressBar设置为可见会导致力关闭。如果ProgressBar默认可见,则可以正常工作。如果需要,我会粘贴所有适当的代码,但我怀疑我从根本上做了一些简单的错误。
(应该有强制关闭标记,但它既不存在也不存在forceclose,我无法创建它。)
好的,代码。 setVisibility只是:
public void nowLoading() {
loading.setVisibility(View.VISIBLE);
}
nowLoading被调用...通过javascript,在WebView上使用addJavascriptInterface。啊......我想WevView是在一个不同的线程。我该如何解决?
答案 0 :(得分:2)
您可能正在更改错误线程的可见性。您是否在使用Thread.start()
开始的新主题中进行了可见性更改?
编辑:使用Handler
(请参阅http://developer.android.com/reference/android/os/Handler.html)。向处理程序发送消息,然后从处理程序更改可见性。或者使用View.post
(请参阅http://developer.android.com/reference/android/view/View.html#post%28java.lang.Runnable%29)。
答案 1 :(得分:0)
试试这个:
YourActivity.runOnUIThread(new Runnable(){
@Override
public void run(){
loading.setVisibility(View.VISIBLE);
}
});