我正在創建一個應用程序,其中我顯示了日期選取器和時間選取器與驗證。我驗證了時間選取器,因爲我將當前時間與選定時間進行比較並設置消息「選擇正確時間」它選擇當前日期時正確工作,但當我選擇另一個日期時,它也顯示「選擇正確的時間」。我想以這種方式使它當我選擇另一個日期我應該允許我選擇任何時間。我知道我必須根據日期選擇進行設置,但我不知道如何設置。根據日期選擇驗證在選中日期
Calender c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
hourofday = c.get(Calendar.HOUR_OF_DAY);
minuteofday = c.get(Calendar.MINUTE);
totalCurrenttime = hourofday + minuteofday;
private void showDateDailog() {
final DatePickerDialog datePickerDialog = new DatePickerDialog(mContext, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int selectedYear, int selectedMonth, int selectedDate) {
year = selectedYear;
month = selectedMonth;
day = selectedDate;
((TextView) findViewById(R.id.textViewTORStartDate)).setText(new StringBuilder().append(day).append("/")
.append(month + 1).append("/").append(year))
}
}, year, month, day);
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
datePickerDialog.show();
}
private void showTimeDailog() {
TimePickerDialog timePickerDialog = new TimePickerDialog(mContext, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int selectedHour, int selectedMinute) {
hour = selectedHour;
minute = selectedMinute;
int selectedTime = hour + minute;
if (validTime(totalCurrenttime, selectedTime)) {
((TextView) findViewById(R.id.textViewTORStartTime)).setText(selectedHour + ":" + selectedMinute);
} else {
Toast.makeText(getApplicationContext(), R.string.txt_select_correct_time, Toast.LENGTH_SHORT).show();
((TextView) findViewById(R.id.textViewTORStartTime)).setText(R.string.txt_Start_Time);
}
}
}, hour, minute, timeview);
timePickerDialog.show();
}
public boolean validTime(long current, long selected) {
boolean isValid = false;
if (selected > current) {
isValid = true;
}
return isValid;
}