解决Dialog.show时出现android.view.WindowManager$BadTokenException错误的问题

如果Dialog.show时出现如下错误:
W/System.err: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
W/System.err:     at android.view.ViewRootImpl.setView(ViewRootImpl.java:571)
W/System.err:     at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:310)
W/System.err:     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
W/System.err:     at android.app.Dialog.show(Dialog.java:319)
问题原因是创建Dialog时传入的Context对象是getApplicationContext()。因为Dialog必须依附于Activity,所以应该传Activity的对象,换成this即可。

猜你喜欢

转载自blog.csdn.net/chenzhengfeng/article/details/104373202