घुमाए जाने पर बुलाया जाता है ICreateDialog() में DatePickerDialog को वापस करने के लिए मैं एक संवादप्रवाह का उपयोग कर रहा हूं। मैंने डेटसेटर को डायलॉगफ्रेगमेंट ("यह" नीचे उदाहरण में) सेट करने के लिए सेट किया है और सब कुछ काम करता है सिवाय इसके कि ऑनडेटसेट() को स्क्रीन रोटेशन होने पर कॉल किया जाता है, जो अवांछनीय है। जब स्क्रीन घुमाया जाता है तो मुझे डेटसेट को कॉल नहीं किया जा सकता है?DatePickerDialog onDateSet को
मेरे DialogFragment
public static class DateDialogFragment extends DialogFragment implements
DatePickerDialog.OnDateSetListener{
public static DateDialogFragment newInstance() {
return new DateDialogFragment();
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new DatePickerDialog(getActivity(), this, 2012, 11, 19);
}
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
//This is called when screen rotated, which I dont want
Toast.makeText(getActivity(), "Year: "+year+" Month: "+monthOfYear+" Day: "+dayOfMonth, Toast.LENGTH_SHORT).show();
}
}
और यह कैसे मैं इसे कहते
if(getActivity()!=null){
FragmentManager fm = getActivity().getSupportFragmentManager();
DialogFragment newFragment = DateDialogFragment.newInstance();
newFragment.show(fm, "dialog");
}
में अपनी गतिविधि को यह संपत्ति जोड़ने [setRetainInstance()] (http://stackoverflow.com/questions/11182180/understanding-fragments-setretaininstanceboolean) – Dmide
पर एक नज़र डालें मैं सही हूँ ? आप पर याद करने के लिए ** dateset ** विधि जब स्क्रीन –
घुमाया इस प्रश्न पर एक इनाम पोस्टिंग के बाद से, मुझे पता चला है कि यह http://stackoverflow.com/questions/11444238/jelly-bean- का डुप्लिकेट है, नहीं करना चाहते datepickerdialog-a-way-to-cancel रद्द है लेकिन मैं अपने बक्षीस के कारण इसे बंद करने के लिए वोट नहीं दे सकता। –