android - app crashes when alert dialog is open and phone(emulator) changes its orientation -
guys i've been searching , studying whole day. app crashes not when dialog open, when spinner open (and i'm sure bunch of other scenarios haven't come across).
choosing between onretainnonconfigurationinstance() , onconfigurationchanged(configuration newconfig) won't me. (maybe i'm wrong) - prefer use first one.
but want ask: single open dialog box or open spinner have create scratch? way? it's worthless reinitialize big class lot of widgets inside time maybe user changes orientation.
plz give me hints , guidance. in advance.
edited :::
error code: 01-25 17:56:48.182: error/windowmanager(312): activity xxx has leaked window com.android.internal.policy.impl.phonewindow$decorview@43e63058 added here 01-25 17:56:48.182: error/windowmanager(312): android.view.windowleaked: activity xxx has leaked window com.android.internal.policy.impl.phonewindow$decorview@43e63058 added here 01-25 17:56:48.182: error/windowmanager(312): @ android.view.viewroot.<init>(viewroot.java:247) 01-25 17:56:48.182: error/windowmanager(312): @ android.view.windowmanagerimpl.addview(windowmanagerimpl.java:148) 01-25 17:56:48.182: error/windowmanager(312): @ android.view.windowmanagerimpl.addview(windowmanagerimpl.java:91) 01-25 17:56:48.182: error/windowmanager(312): @ android.view.window$localwindowmanager.addview(window.java:424) 01-25 17:56:48.182: error/windowmanager(312): @ android.app.dialog.show(dialog.java:241) 01-25 17:56:48.182: error/windowmanager(312): @ xxx.menugroupdialog(xxx.java:946) 0 1-25 17:56:48.182: error/windowmanager(312): @ xxx.onoptionsitemselected (groupmanagement.java:257) 01-25 17:56:48.182: error/windowmanager(312): @ android.app.activity.onmenuitemselected(activity.java:2195)01-25 17:56:48.182: error/windowmanager(312): @ com.android.internal.policy.impl.phonewindow.onmenuitemselected(phonewindow.java:730) 01-25 17:56:48.182: error/windowmanager(312): @ com.android.internal.view.menu.menuitemimpl.invoke(menuitemimpl.java:143) 01-25 17:56:48.182: error/windowmanager(312): @ com.android.internal.view.menu.menubuilder.performitemaction(menubuilder.java:855) 01-25 17:56:48.182: error/windowmanager(312): @ com.android.internal.view.menu.iconmenuview.invokeitem(iconmenuview.java:532) 01-25 17:56:48.182: error/windowmanager(312): @ com.android.internal.view.menu.iconmenuitemview.performclick(iconmenuitemview.java:122) 01-25 17:56:48.182: error/windowmanager(312): @ android.view.view$performclick.run(view.java:8816) 01-25 17:56:48.182: error/windowmanager(312): @ android.os.handler.handlecallback(handler.java:587) 01-25 17:56:48.182: error/windowmanager(312): @ android.os.handler.dispatchmessage(handler.java:92) 01-25 17:56:48.182: error/windowmanager(312): @ android.os.looper.loop(looper.java:123) 01-25 17:56:48.182: error/windowmanager(312): @ android.app.activitythread.main(activitythread.java:4627) 01-25 17:56:48.182: error/windowmanager(312): @ java.lang.reflect.method.invokenative(native method) 01-25 17:56:48.182: error/windowmanager(312): @ java.lang.reflect.method.invoke(method.java:521) 01-25 17:56:48.182: error/windowmanager(312): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:868) 01-25 17:56:48.182: error/windowmanager(312): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:626) 01-25 17:56:48.182: error/windowmanager(312): @ dalvik.system.nativestart.main(native method)
i know calling dismiss() function. how can handle orientation change when having dialog open?
are using progressdialog.show()
, progressbardialog.dismiss()
in aynctask?
if yes try using showdialog(id)
, dismissdialog(id)
in aynctask instead of it. have write custom dialog in oncreatedialog()
showing loading dialog. showdialog , dismissdialog methods activity level methods. mean invoked on activity or context. if activity recreated after orientation change, latest context made available dialog.
check sample code here. modify dialog_progress
case in per requirement.
also, onretainnonconfigurationinstance()
works orientation change. due window leak problem not able see it.
Comments
Post a Comment