在活动之外的异步任务中显示警报对话框(执行完成后)

时间:2015-03-16 14:09:44

标签: android android-asynctask android-alertdialog

enter image description here

我想在异步任务onpostExecute方法中显示alertdialogbox,该方法是一个不同的类,而不是作为内部类编写的。我目前正在异步任务构造函数中传递活动并在alerdialog中使用其上下文但应用程序崩溃。请帮助它如何实现。

附加是我得到的错误,从错误中我认为我将不得不使用处理程序,因为我正在更新UI,所以我添加了处理程序并将alerbox放入其中。但这样应用程序不会崩溃,但也不会显示aletbox。不应该使用处理程序,因为我已经读过在UI线程中调用onpostExecute。请告诉我,如果我错了。

提前致谢。

1 个答案:

答案 0 :(得分:-1)

您需要使用Activity Context代替Application Context。你认为这就是你在这里做的事情

AlertDialog.Builder builder = new AlertDialog.Builder(imageUploadMainActivity.getApplicationContext()); 

但是您仍然在调用getApplicationContext(),猜测是什么,返回Application Context;)

相反,我们

AlertDialog.Builder builder = new AlertDialog.Builder(imageUploadMainActivity);

假设imageUploadMainActivity是引用您传递给Context的{​​{1}}的变量。但是,由于您还没有显示该代码,我无法肯定地说。