使用AlertDialog.Builder点击确定需要进行一个网络操作,结果报错

StartActivity has leaked window com.android.internal.policy.PhoneWindow$DecorView{4288226 V.E...... R.....I. 0,0-1026,476} that was originally added here

                                                                        at android.view.ViewRootImpl.<init>(ViewRootImpl.java:368)

                                                                        at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:299)

                                                                        at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)

                                                                        

                                                                        上网查了,要把alert给dismiss,根本不行,AlertDialog.Builder本身没有dismiss方法,并且点击效果本身就是取消了窗口的显示,,,,这个要怎么做?


慕容708150
浏览 629回答 6
6回答

jeck猫

建议贴一下代码,这样说不好懂!

犯罪嫌疑人X

窗体泄漏,应该是dialog依然持有Activity的Context,你直接关闭了Activity。贴一下具体代码吧

慕码人2483693

builder 只是构造类的参数而已。调用builder的build()才会真的构造类的实例。在你的案例下要声明一个Dialog来接收,才有机会调用到dismiss()方法。

慕尼黑8549860

你传入的context 是activity的context,还是application的context 如果是application的context 就会抱类似的错误。需要给dialog一个依附的窗口才能显示
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java