【发布时间】:2016-04-16 07:52:00
【问题描述】:
我正在尝试在 Android Studio 中调试 AsyncTask,但是调试器不允许我进入 onPostExecute() 方法,我不知道为什么。我确信它正在执行,因为我放了一个显示的 Toast,但是我想在那里调试,但由于某种原因我不能。这是一个原因吗?
private class LoadObject extends AsyncTask<Void, Void, Void> {
private ProgressDialog dialog;
private Context context;
String postAddress;
public LoadObject(Context context) {
this.context = context;
dialog = new ProgressDialog(context);
}
@Override
protected void onPreExecute() {
dialog.setMessage("Loading...");
dialog.setCanceledOnTouchOutside(false);
dialog.show();
}
@Override
protected void onPostExecute(Void result) {
Toast.makeText(context, "OnPostExecute", Toast.LENGTH_SHORT).show();
functionToExecute();
if(dialog!=null && dialog.isShowing()){
dialog.dismiss();
}
bLoaded = true;
}
@Override
protected Void doInBackground(Void... params) {
try {
postApi.postAPI(postAddress);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
【问题讨论】:
-
你是先去 onPreExecute 然后再去 doInBackground 吗?
-
是的,我愿意。这两个我也可以调试。但不是 onPostExecute
-
doInBackground 的执行是否成功?
标签: android debugging android-studio android-asynctask