当前位置:  开发笔记 > 前端 > 正文

无法在Android Studio中调试onPostExecute

如何解决《无法在AndroidStudio中调试onPostExecute》经验,为你挑选了1个好方法。

我试图在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()



1> NoChinDeluxe..:

尝试将该行放入android.os.Debug.waitForDebugger();您的onPostExecute()方法中.这将等待调试器附加到您的单独线程,然后一旦附加调试器就会返回.然后尝试在此行之后放置一个断点,它应该点击.

更多信息:http://developer.android.com/reference/android/os/Debug.html#waitForDebugger()

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有