我有两个问题;我的应用程序有 2 个 textview 日期选择器,我将使用这两个日期选择器作为记录。
我的问题是:
1.- 在显示日期选择器(选择日期的框)时我该怎么做;选择当前日期。
2.-如何根据我的代码验证开始日期和结束日期;或者我可以用什么方式来做。
[在此处输入图片描述][1] [1]:https://i.stack.imgur.com/nYhiq.jpg
开始日期
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();
}
结束日期
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();
}
答案 0 :(得分:0)
答案 1:使用 GregorianCalendar 而不是 Calender,如下所示:
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();
答案 2:隐藏从开始日期到结束日期 DatePicker 的旧日期
endDatePickerDialog.getDatePicker().setMinDate(startDate)
希望对您有所帮助。