使用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方法,并且点击效果本身就是取消了窗口的显示,,,,这个要怎么做?
阿神2017-04-18 09:23:45
AlertDialog.Builder 这个类是根据配置来生成AlertDialog的。
AlertDialog才可以显示,才有dimiss方法。
Builder生成结果是Builder,如果不调用create或者show方法的话是没有AlertDialog生成的。
ringa_lee2017-04-18 09:23:45
builder 只是构造类的参数而已。
调用builder的build()才会真的构造类的实例。
在你的案例下要声明一个Dialog来接收,才有机会调用到dismiss()方法。
怪我咯2017-04-18 09:23:45
你先得build.create()才是一个alertdialog,然后你才能使用alertdialog.show()和alertdialog.dismiss()
黄舟2017-04-18 09:23:45
你传入的context 是activity的context,还是application的context 如果是application的context 就会抱类似的错误。需要给dialog一个依附的窗口才能显示