我创建了一个类DataAdapter
,它启动线程以从webservices获取数据。当使用一个活动叫做如何知道外部类中的AsyncTasc已完成?
DataAdapter.InitData();
我怎么能知道当两个线程都完成了吗?
感谢 七月
public class DataAdapter {
private final static String URL = "http://www.mywebservice.com";
private final static String URL_AD = "http://www.mywebservice2.com";
public void InitData(){
new GetInitData().execute(URL);
new GetAd().execute(URL_AD);
}
private static class GetInitData extends AsyncTask<String, Integer, JSONObject> {
protected JSONObject doInBackground(String... urls) {
JSONObject json = RestJsonClient.getJSONObject(urls[0]);
return json;
}
protected void onProgressUpdate(Integer... progress) {
}
protected void onPostExecute(JSONObject json) {
//process data
}
}
private static class GetAd extends AsyncTask<String, Integer, JSONObject> {
protected JSONObject doInBackground(String... urls) {
JSONObject json = RestJsonClient.getJSONObject(urls[0]);
return json;
}
protected void onProgressUpdate(Integer... progress) {
}
protected void onPostExecute(JSONObject json) {
//process data
}
}
}
在每个类的onPostExecute中调用一个方法来设置另一个线程中的布尔值,该线程正在等待两个线程完成。 当他们都完成后,你可以调用另一种方法来做任何你想做的事情。 – Blundell 2011-05-24 12:14:01