我已将活动置于子视图中,现在无法显示活动和适配器中的对话框.在我的logCat中
04-11 12:39:59.823: E/AndroIDRuntime(12831): FATAL EXCEPTION: main04-11 12:39:59.823: E/AndroIDRuntime(12831): androID.vIEw.WindowManager$BadTokenException: Unable to add window -- token androID.app.LocalActivityManager$LocalActivityRecord@41971f18 is not valID; is your activity running?04-11 12:39:59.823: E/AndroIDRuntime(12831): at androID.vIEw.VIEwRootImpl.setVIEw(VIEwRootImpl.java:513)04-11 12:39:59.823: E/AndroIDRuntime(12831): at androID.vIEw.WindowManagerImpl.addVIEw(WindowManagerImpl.java:301)04-11 12:39:59.823: E/AndroIDRuntime(12831): at androID.vIEw.WindowManagerImpl.addVIEw(WindowManagerImpl.java:215)04-11 12:39:59.823: E/AndroIDRuntime(12831): at androID.vIEw.WindowManagerImpl$CompatModeWrapper.addVIEw(WindowManagerImpl.java:140)04-11 12:39:59.823: E/AndroIDRuntime(12831): at androID.vIEw.Window$LocalWindowManager.addVIEw(Window.java:537)04-11 12:39:59.823: E/AndroIDRuntime(12831): at androID.app.Dialog.show(Dialog.java:278)04-11 12:39:59.823: E/AndroIDRuntime(12831): at androID.app.AlertDialog$Builder.show(AlertDialog.java:932)04-11 12:39:59.823: E/AndroIDRuntime(12831): at com.myapp.functions.DownloadsDetailsAdapter.run(DownloadsDetailsAdapter.java:148)04-11 12:39:59.823: E/AndroIDRuntime(12831): at androID.app.Activity.runOnUiThread(Activity.java:4170)04-11 12:39:59.823: E/AndroIDRuntime(12831): at com.myapp.functions.DownloadsDetailsAdapter.onClick(DownloadsDetailsAdapter.java:139)04-11 12:39:59.823: E/AndroIDRuntime(12831): at androID.vIEw.VIEw.performClick(VIEw.java:3511)04-11 12:39:59.823: E/AndroIDRuntime(12831): at androID.vIEw.VIEw$PerformClick.run(VIEw.java:14105)04-11 12:39:59.823: E/AndroIDRuntime(12831): at androID.os.Handler.handleCallback(Handler.java:605)04-11 12:39:59.823: E/AndroIDRuntime(12831): at androID.os.Handler.dispatchMessage(Handler.java:92)04-11 12:39:59.823: E/AndroIDRuntime(12831): at androID.os.Looper.loop(Looper.java:137)04-11 12:39:59.823: E/AndroIDRuntime(12831): at androID.app.ActivityThread.main(ActivityThread.java:4440)04-11 12:39:59.823: E/AndroIDRuntime(12831): at java.lang.reflect.Method.invokeNative(Native Method)04-11 12:39:59.823: E/AndroIDRuntime(12831): at java.lang.reflect.Method.invoke(Method.java:511)04-11 12:39:59.823: E/AndroIDRuntime(12831): at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)04-11 12:39:59.823: E/AndroIDRuntime(12831): at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:554)04-11 12:39:59.823: E/AndroIDRuntime(12831): at dalvik.system.NativeStart.main(Native Method)
这是我尝试显示对话框的示例.
AlertDialog.Builder builder = new AlertDialog.Builder( activity); builder.setMessage(R.string.are_you_sure) .setPositivebutton(R.string.yes, dialogClickListener) .setNegativebutton(R.string.no, dialogClickListener) .show();
注意:在我进行更改之前,此代码已正常工作.我想我应该在新的runnable中运行它,但是如果我必须这样做,谁能告诉我我该怎么做?
解决方法:
我也面临同样的问题.我已经使用标签栏了.只需使用getParent()而不是youractivity.this.
我希望这将有所帮助.
总结以上是内存溢出为你收集整理的Android对话框导致android.view.WindowManager $BadTokenException:无法添加窗口全部内容,希望文章能够帮你解决Android对话框导致android.view.WindowManager $BadTokenException:无法添加窗口所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)