के लिए एक संवाद का निर्माण नहीं किया मैंने एक आवेदन है कि आप दिखाने के लिए और के साथ कई संवादों को बंद कर सकते हैं:एंड्रॉयड RuntimeException onCreateDialog आईडी
showDialog(...)
removeDialog(...)
मैं और आवेदन के साथ एक छोटा सा खेलने जब कोई किसी भी संवाद है स्क्रीन पर, मैं मेनू बटन दबाता हूं और मैं मुख्य एंड्रॉइड स्क्रीन पर जाता हूं।
थोड़ी देर के बाद, मैं अपने आवेदन में फिर से प्रवेश करने और कभी कभी, मैं इस RuntimeException मिलती है:
java.lang.IllegalArgumentException: Activity#onCreateDialog did not create a dialog for id 4
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2596)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2621)
at android.app.ActivityThread.access$2200(ActivityThread.java:126)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1932)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4595)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: Activity#onCreateDialog did not create a dialog for id 4
at android.app.Activity.createDialog(Activity.java:878)
at android.app.Activity.restoreManagedDialogs(Activity.java:867)
at android.app.Activity.performRestoreInstanceState(Activity.java:815)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1096)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2565)
... 11 more
किसी भी विचार?
बहुत बहुत धन्यवाद।
अद्यतन, अधिक जानकारी:
वर्तमान onCreateDialog दिया गया है:
protected Dialog onCreateDialog(int id){
Builder b = new AlertDialog.Builder(this);
if(id == 4){
b.setMessage(...);
b.setItems(items, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which){
Intent i = new Intent(Current.this, Another.class);
startActivity(i);
}
});
return b.create();
}
return null;
}
इस फ़ंक्शन का मैं क्या कॉल करने के लिए:
removeDialog(4);
showDialog(4);
यूप, सभी कोड पूरी तरह से ठीक काम कर रहा है। आवेदन कहीं भी दुर्घटनाग्रस्त नहीं है। मैं वर्तमान में पॉपिंग और पूरी तरह से बंद संवाद संवाद देखता हूं। जब मैं एप्लिकेशन को पुनरारंभ करता हूं तो समस्या यादृच्छिक रूप से शुरू होती है। – zegnus