Ich habe zwei DatePicker. Eins mit Von Datum und anderes mit Bis Datum. Ich möchte Anzeige Bis Datum immer größer als von Datum nach Von Datum Auswahl .Ich verwende die Android-Standard-Datumsauswahl und möchten die Vergangenheit Daten von TO datepicker deaktivieren, wenn es größer ist als das Datum von und umgekehrt. Ich weiß Dieses Thema wurde mehrmals hier gefragt. Aber ich konnte meinen Code nicht wie die vorgeschlagenen Lösungen arbeiten lassen, also bitte helfen Sie?Wie man Android Datepicker tut Bis Datum größer als von Datum Validierung
Calendar calendarOne = Calendar.getInstance();
datePickerFrom= new DatePickerDialog(getActivity(), new
DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
StringBuilder selectedDate = new
StringBuilder().append(dayOfMonth).append("-").append(monthOfYear +
1).append("-").append(year);
fromText.setText(selectedDate);
fromText.setTextColor(android.graphics.Color.BLACK);
}
}, calendarOne.get(Calendar.YEAR), calendarOne.get(Calendar.MONTH),
calendarOne.get(Calendar.DAY_OF_MONTH));
fromText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
datePickerFrom.getDatePicker().setMaxDate(new
Date().getTime());
datePickerFrom.show();
}
});
Calendar calendarTwo = Calendar.getInstance();
datePickerTo = new DatePickerDialog(getActivity(), new
DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int
dayOfMonth) {
StringBuilder selectedDate = new
StringBuilder().append(dayOfMonth).append("-").append(monthOfYear +
1).append("-").append(year);
toText.setText(selectedDate);
toText.setTextColor(android.graphics.Color.BLACK);
}
}, calendarTwo.get(Calendar.YEAR), calendarTwo.get(Calendar.MONTH),
calendarTwo.get(Calendar.DAY_OF_MONTH));
toText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
datePickerTo.getDatePicker().setMaxDate(new Date().getTime());
datePickerTo.show();
}
});
}
................................ Aktualisiert-Code
final Calendar calendarOne = Calendar.getInstance();
datePickerFrom= new DatePickerDialog(getActivity(), new
DatePickerDialog.OnDateSetListener()
{
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void onDateSet(DatePicker view, int year, final int
monthOfYear, int dayOfMonth)
{
StringBuilder selectedDate = new
StringBuilder().append(dayOfMonth).append("-
").append(monthOfYear + 1).append("-").append(year);
fromText.setText(selectedDate);
fromText.setTextColor(android.graphics.Color.BLACK);
Calendar calendarTwo = Calendar.getInstance();
datePickerTo = new DatePickerDialog(getActivity());
datePickerTo.getDatePicker().setMinDate(calendarOne.getTimeInMillis());
datePickerTo = new DatePickerDialog(activity, new
DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int
month, int dayOfMonth) {
StringBuilder selectedDate = new
StringBuilder().append(dayOfMonth).append("-").append(monthOfYear +
1).append("-").append(year);
toText.setText(selectedDate);
toText.setTextColor(android.graphics.Color.BLACK);
}
}, calendarTwo.get(Calendar.YEAR),
calendarTwo.get(Calendar.MONTH),
calendarTwo.get(Calendar.DAY_OF_MONTH));
toText.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
datePickerTo.getDatePicker().setMaxDate(new
Date().getTime());
datePickerTo.show();
}
});
}
}, calendarOne.get(Calendar.YEAR),
calendarOne.get(Calendar.MONTH),
calendarOne.get(Calendar.DAY_OF_MONTH));
fromText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
datePickerFrom.getDatePicker().setMaxDate(new
Date().getTime());
datePickerFrom.show();
}
});
Kommentare sind nicht für längere Diskussion; Diese Konversation wurde [in den Chat verschoben] (http://chat.stackoverflow.com/rooms/159407/discussion-on-answer-by-m-saad-lakhan-how-to-do-android-datepicker--to- Datum-groß). – Andy
Hai kann jemand helfen – user8737536