我对此代码有一些问题,您可以在这里找到问题的简化版本。
public class MyActivity extends Activity {
private WebView wv = null;
private CountDownLatch signal = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
wv = (WebView) findViewById(R.id.web);
wv.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {
signal.countDown();
super.onPageFinished(view, url);
}
}
wv.post(new Runnable() {
@Override
public void run() {
wv.loadUrl("file:///android_asset/MySample.html");
}
});
try {
signal.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
ElaborateAll(2);
}
}
在调试中,代码未达到ElaborateAll(2)。
每一个帮助都将得到赞赏。
答案 0 :(得分:0)
你在做什么:
就是这样,你的执行停在那里,Runnable将不会执行,因此你永远不会loadUrl();删除CountDownLatch,程序将按预期loadUrl()。