在GetBitMapFromURL中創建回調。
public class GetBitMapFromURL extends AsyncTask<Void, Void, Void> {
private GetBitMapFromURLCallback mCallback = null;
public WebService(GetBitMapFromURLCallback callback) {
mCallback = callback;
}
@Override
protected Boolean doInBackground(Void... params) {
// ...
}
@Override
protected void onPostExecute(Boolean result) {
super.onPostExecute(result);
if (mCallback != null) {
mCallback.onGetBitMapFromURLComplete(this);
}
}
public interface GetBitMapFromURLCallback {
public void onGetBitMapFromURLComplete(GetBitMapFromURL getBitMapFromUrl);
}
}
public class MyActivity extends Activity implements GetBitMapFromURLCallback {
// ...
public void onGetBitMapFromURLComplete(GetBitMapFromURL getBitMapFromUrl) {
// This code will get called the moment the AsyncTask finishes
}
}
而讓你的活動實現這個回調和onGetBitMapFromURLComplete()
。
請解釋原因。爲什麼你不能把它放入onPostExecute回調? – Simon
@Simon我正在使用相同的異步任務來執行不同的任務。 –
http://stackoverflow.com/questions/10048958/android-calling-asynctask-right-after-an-another-finished and http://stackoverflow.com/questions/7494515/android-can-i-chain-async -task-sequential-starts-one-after-the-previous-as – user1690588