我在這裏看到了所有類似的問題,因此我在其他活動中使用AsyncTask,但僅在這一個中調用onPostexecute。onPostExecute沒有在AsyncTask上調用Android
這裏是我的代碼後小時oof嘗試。
class GetCamera1Task extends AsyncTask<Void, Void, Integer> {
private final ProgressDialog dialog = new ProgressDialog(
CameraGallery.this);
@Override
protected void onPreExecute() {
this.dialog.setMessage("Loading...");
this.dialog.show();
}
protected void onPostExecute(int result) {
System.out.println("onPostExecute");
this.dialog.dismiss();
}
@Override
protected Integer doInBackground(Void... params) {
// TODO Auto-generated method stub
bitmapResult1 = getBitmapFromURL(url[0]);
bitmapResult2 = getBitmapFromURL(url[1]);
}
System.out.println("should return");
return 1;
}
}
其中所有變量都是全局變量。 正在打印應返回,但不會調用onPost執行。
我也盡我onBackground返回NULL和sceleton是這樣的:
class GetCamera1Task extends AsyncTask<Void, Void, Void> {
protected void onPostExecute() {
}
protected Integer doInBackground(Void... params) {
... return null;
}
}
卻又什麼都沒有。
下載網址從位圖的代碼是這樣的:
public Bitmap getBitmapFromURL(String src) {
try {
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
同樣的問題和答案:請參閱http://stackoverflow.com/questions/6449438/asynctask-onpostexecute-not-being-called – user3080130