我正在创建一个应用程序,其中我显示了日期选取器和时间选取器与验证。我验证了时间选取器,因为我将当前时间与选定时间进行比较并设置消息“选择正确时间”它选择当前日期时正确工作,但当我选择另一个日期时,它也显示“选择正确的时间”。我想以这种方式使它当我选择另一个日期我应该允许我选择任何时间。我知道我必须根据日期选择进行设置,但我不知道如何设置。根据日期选择验证在选中日期
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;
}