我试图在Android Studio中调试AsyncTask,但调试器不允许我进入该onPostExecute()
方法,我不知道为什么.我确信它正在执行,因为我放了一个显示的Toast,但是我想在那里进行调试,但由于某种原因我不能.这是为什么会这样的原因?
private class LoadObject extends AsyncTask{ 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; } }
NoChinDeluxe.. 5
尝试将该行放入android.os.Debug.waitForDebugger();
您的onPostExecute()
方法中.这将等待调试器附加到您的单独线程,然后一旦附加调试器就会返回.然后尝试在此行之后放置一个断点,它应该点击.
更多信息:http://developer.android.com/reference/android/os/Debug.html#waitForDebugger()
尝试将该行放入android.os.Debug.waitForDebugger();
您的onPostExecute()
方法中.这将等待调试器附加到您的单独线程,然后一旦附加调试器就会返回.然后尝试在此行之后放置一个断点,它应该点击.
更多信息:http://developer.android.com/reference/android/os/Debug.html#waitForDebugger()