I have two questions; my app has 2 textview datepickers, both of which I will use for a record.
My problem is:
1.- How can I do so that when displaying the datepicker (the box to choose the date); the current date is selected.
2.-How can I validate the start date with the end date according to my code; or in what way can I do it.
[enter image description here][1] [1]: https://i.stack.imgur.com/nYhiq.jpg
Start date
JavaScript
x
public void StartDate(View view){
Calendar FI= Calendar.getInstance();
diaI=FI.get(Calendar.DAY_OF_MONTH);
mesI=FI.get(Calendar.MONTH);
anioI=FI.get(Calendar.YEAR);
DatePickerDialog datePickerDialog= new DatePickerDialog(this,new DatePickerDialog.OnDateSetListener() {
@SuppressLint("SetTextI18n")
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
editTextFechaInicio.setText(dayOfMonth+"/"+(monthOfYear+1)+"/"+year);
}
}, diaI,mesI,anioI);
datePickerDialog.show();
}
End Date
JavaScript
public void EndDate(View view){
final Calendar FF= Calendar.getInstance();
diaF=FF.get(Calendar.DAY_OF_MONTH);
mesF=FF.get(Calendar.MONTH);
anioF=FF.get(Calendar.YEAR);
DatePickerDialog datePickerDialog= new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
editTextFechaFinal.setText(dayOfMonth+"/"+(month+1)+"/"+year);
}
}, diaF,mesF,anioF);
datePickerDialog.show();
}
Advertisement
Answer
Answer of 1: Use GregorianCalendar instead of Calender like following:
JavaScript
GregorianCalendar gc = new GregorianCalendar()
int defaultDay = gc.get(Calender.DAY_OF_MONTH)
int defaultMonth = gc.get(Calender.MONTH)
int defaultYear = gc.get(Calender.YEAR)
String startDate;
DatePickerDialog dpd = new DatePickerDialog(ctx, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
startDate = day + "/" + (month+1) + "/" + year
btndate.setText(startDate);
}
},DefaultYear,DefaultMonth,DefaultDate);
dpd.show();
Answer of 2: Hide older date from start date into end date DatePicker
JavaScript
endDatePickerDialog.getDatePicker().setMinDate(startDate)
Hope this is helpful.