使用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方法,并且点击效果本身就是取消了窗口的显示,,,,这个要怎么做?
AlertDialog.Builder 這個類別是根據配置來產生AlertDialog的。
AlertDialog才可以顯示,才有dimiss方法。
Builder產生結果是Builder,如果不呼叫create或show方法的話是沒有AlertDialog產生的。
建議貼一下程式碼,這樣說不好懂!
同上,描述有點模糊,不清楚你想說什麼
窗體洩漏,應該是dialog依然持有Activity的Context,你直接關閉了Activity。貼一下具體程式碼吧
builder 只是建構類別的參數而已。
呼叫builder的build()才會真的建構類別的實例。
在你的案例下要宣告一個Dialog來接收,才有機會呼叫到dismiss()方法。
你先得build.create()才是一個alertdialog,然後你才能使用alertdialog.show()和alertdialog.dismiss()
你傳入的context 是activity的context,還是application的context 如果是application的context 就會抱類似的錯誤。需要給dialog一個依附的視窗才能顯示