android - java.lang.IllegalStateException: opening Dialog after changing screen orientation -
android - java.lang.IllegalStateException: opening Dialog after changing screen orientation -
i "java.lang.illegalstateexception: can not perform action after onsaveinstancestate" when alter screen orientation , click on image , seek open dialog. have seen superclass dialogfragment.show() transactionmanager.commit() , crashes. happens when alter orientation. don't know how avoid exception. code:
public class customview extends linearlayout { .... final imageview pic=(imageview) v.findviewbyid(r.id.mypic); student_pic.setonclicklistener(new onclicklistener() { public void onclick(view v) { final mydialog picker=mydialog.newinstance(customview.this); picker.show(getcontext()); } }); }
mydialog.java:
public class mydialog extends dialogfragment { public static mydialog newinstance(view f) { mydialog frag = new mydialog(); homecoming frag; } ..... public void show(context context) { fragmentmanager fm=((activity)context).getfragmentmanager(); show(fm, "mydialog"); // superclass show() fragmentmanager.commit() , crash } }
stacktrace:
10-29 00:05:07.452 621-621/com.myapp.example e/androidruntime﹕ fatal exception: main java.lang.illegalstateexception: can not perform action after onsaveinstancestate @ android.app.fragmentmanagerimpl.checkstateloss(fragmentmanager.java:1280) @ android.app.fragmentmanagerimpl.enqueueaction(fragmentmanager.java:1291) @ android.app.backstackrecord.commitinternal(backstackrecord.java:548) @ android.app.backstackrecord.commit(backstackrecord.java:532) @ android.app.dialogfragment.show(dialogfragment.java:230) @ com.myapp.table.mydialog.show(mydialog.java:234) @ com.myapp.table.mydialog.show(mydialog.java:224) @ com.myapp.table.mydialog.show(mydialog.java:217) @ com.myapp.table.views.mycustomview$2$1$1.run(mycustomview.java:152) @ android.os.handler.handlecallback(handler.java:615) @ android.os.handler.dispatchmessage(handler.java:92) @ android.os.looper.loop(looper.java:137) @ android.app.activitythread.main(activitythread.java:4745) @ java.lang.reflect.method.invokenative(native method) @ java.lang.reflect.method.invoke(method.java:511) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:786) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:553) @ dalvik.system.nativestart.main(native method)
any help avoid exception?
solution: instead of using dialogfragment utilize alertdialog build dialogs.
android android-fragments
Comments
Post a Comment