Проблемы с моей datePickerDialog. Используя EditText
для сборщиков, и когда я пытаюсь щелкнуть/дважды щелкнуть на сборщике, это дает мне ошибку. Как предотвратить эту ошибкуDatePickerDialog error: Фрагмент уже добавлен
java.lang.IllegalStateException: Fragment already added: DatePickerDialog {4a9aadf4 #0 datePickerDialog1}
at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1361)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:734)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1677)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:536)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5045)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Я попытался добавить datePickerDialog1.isAdded()
на код, но его до сих пор не работает
Это мой код ниже datePickerDialog
date1 = (EditText) findViewById(R.id.date1);
date2 = (EditText) findViewById(R.id.date2);
datePickerDialog1 = com.fourmob.datetimepicker.date.DatePickerDialog.newInstance(this, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
datePickerDialog2 = com.fourmob.datetimepicker.date.DatePickerDialog.newInstance(this, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
date1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
datePickerDialog1.setYearRange(1910, 2037);
datePickerDialog1.show(getSupportFragmentManager(), DATE_PICKER_1);
datePickerDialog1.setOnDateSetListener(new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePickerDialog datePickerDialog, int year, int month, int day) {
date1.setText(" " + month + " " + day + " " + year);
}
});
}
});
date2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
datePickerDialog2.setYearRange(1910, 2037);
datePickerDialog2.show(getSupportFragmentManager(), DATE_PICKER_2);
datePickerDialog2.setOnDateSetListener(new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePickerDialog datePickerDialog, int year, int month, int day) {
date2.setText(" " + month + " " + day + " " + year);
}
});
}
});
if(savedInstanceState != null) {
DatePickerDialog datePickerDialog1= (DatePickerDialog) getSupportFragmentManager().findFragmentByTag(DATE_PICKER_1);
if(datePickerDialog1!= null || datePickerDialog1.isAdded()) {
datePickerDialog1.setOnDateSetListener(this);
}
DatePickerDialog datePickerDialog2 = (DatePickerDialog) getSupportFragmentManager().findFragmentByTag(DATE_PICKER_2);
if(datePickerDialog2 != null || datePickerDialog2.isAdded()) {
datePickerDialog2 .setOnDateSetListener(this);
}
}
выслать полный код – sasikumar
@sasikumar Я обновил код –