无法在android中使用Asynctask显示动画对话框

无法在android中使用Asynctask显示动画对话框,android,customdialog,Android,Customdialog,我试图用AsyncTask在android中显示自定义动画对话框,但我现在在log cat中遇到了一些问题,如下所示。 有人能告诉我如何解决这个问题吗 LOGCAT 06-20 09:42:47.981: E/AndroidRuntime(668): FATAL EXCEPTION: main 06-20 09:42:47.981: E/AndroidRuntime(668): java.lang.RuntimeException: Unable to start activity Compon

我试图用AsyncTask在android中显示自定义动画对话框,但我现在在log cat中遇到了一些问题,如下所示。 有人能告诉我如何解决这个问题吗

LOGCAT

06-20 09:42:47.981: E/AndroidRuntime(668): FATAL EXCEPTION: main
06-20 09:42:47.981: E/AndroidRuntime(668): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.customdialog_sample/com.example.customdialog_sample.MainActivity}: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
06-20 09:42:47.981: E/AndroidRuntime(668):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
06-20 09:42:47.981: E/AndroidRuntime(668):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
06-20 09:42:47.981: E/AndroidRuntime(668):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
06-20 09:42:47.981: E/AndroidRuntime(668):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
06-20 09:42:47.981: E/AndroidRuntime(668):  at android.os.Handler.dispatchMessage(Handler.java:99)
06-20 09:42:47.981: E/AndroidRuntime(668):  at android.os.Looper.loop(Looper.java:123)
06-20 09:42:47.981: E/AndroidRuntime(668):  at android.app.ActivityThread.main(ActivityThread.java:3683)
06-20 09:42:47.981: E/AndroidRuntime(668):  at java.lang.reflect.Method.invokeNative(Native Method)
06-20 09:42:47.981: E/AndroidRuntime(668):  at java.lang.reflect.Method.invoke(Method.java:507)
06-20 09:42:47.981: E/AndroidRuntime(668):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
06-20 09:42:47.981: E/AndroidRuntime(668):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
06-20 09:42:47.981: E/AndroidRuntime(668):  at dalvik.system.NativeStart.main(Native Method)
06-20 09:42:47.981: E/AndroidRuntime(668): Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
06-20 09:42:47.981: E/AndroidRuntime(668):  at android.view.ViewRoot.setView(ViewRoot.java:531)
06-20 09:42:47.981: E/AndroidRuntime(668):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
06-20 09:42:47.981: E/AndroidRuntime(668):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
06-20 09:42:47.981: E/AndroidRuntime(668):  at android.app.Dialog.show(Dialog.java:241)
06-20 09:42:47.981: E/AndroidRuntime(668):  at com.example.customdialog_sample.LoadingDialog.LodingDialog1(LoadingDialog.java:60)
06-20 09:42:47.981: E/AndroidRuntime(668):  at com.example.customdialog_sample.LoadingDialog.<init>(LoadingDialog.java:19)
06-20 09:42:47.981: E/AndroidRuntime(668):  at com.example.customdialog_sample.MainActivity$CustomLoad.<init>(MainActivity.java:66)
06-20 09:42:47.981: E/AndroidRuntime(668):  at com.example.customdialog_sample.MainActivity.onCreate(MainActivity.java:58)
06-20 09:42:47.981: E/AndroidRuntime(668):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-20 09:42:47.981: E/AndroidRuntime(668):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
06-20 09:42:47.981: E/AndroidRuntime(668):  ... 11 more
试试这个

   LoadingDialog load_instance = new LoadingDialog(MainActivity.this);
而不是

   LoadingDialog load_instance = new LoadingDialog(getApplicationContext());

您应该将
Activity
上下文传递到
LoadingDialog(MainActivity.this)

它工作正常,但如何停止它,onPostExecute我调用了hide()方法,但没有停止它loading@prabu好的,现在告诉我有什么问题吗?我的问题是,现在我无法取消该对话框,我在onPostExecute()中调用了hide()方法……但它不起作用,你能告诉我为什么会这样吗?@prabu你不能使用不同的类来消除它。因此,最好创建一个单独的
AsynTask
或使用一个
对话框片段
,并
将其附加到
活动中。
   LoadingDialog load_instance = new LoadingDialog(MainActivity.this);
   LoadingDialog load_instance = new LoadingDialog(getApplicationContext());