#android-studio #timepickerdialog
Вопрос:
Вот мой текущий код. Что он будет делать, так это то, что он может выбрать время только после текущего времени. Допустим, текущее время-1.52 вечера, пользователь не может выбрать прошедшее время, которое составляет 1.51 вечера. Как я могу сделать так, чтобы он мог выбирать только с 8 утра до 5 вечера? Пожалуйста, помогите
tvTime.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { TimePickerDialog timePickerDialog = new TimePickerDialog(AirconOrder3.this, android.R.style.Theme_Holo_Light_Dialog_MinWidth, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { Calendar calendar = Calendar.getInstance(); t2Hour = hourOfDay; t2Minute = minute; calendar.set(Calendar.HOUR_OF_DAY,t2Hour); calendar.set(Calendar.MINUTE,t2Minute); String time = t2Hour ":" t2Minute; SimpleDateFormat f24Hours = new SimpleDateFormat( "HH:mm" ); try { Date date = f24Hours.parse(time); SimpleDateFormat f12Hours = new SimpleDateFormat( "hh:mm aa" ); if(calendar.getTimeInMillis()==Calendar.getInstance().getTimeInMillis()){ Toast.makeText(AirconOrder3.this, "Cannot select current time", Toast.LENGTH_SHORT).show(); }else if(calendar.getTimeInMillis()gt;Calendar.getInstance().getTimeInMillis()){ tvTime.setText(f12Hours.format(date)); }else{ Toast.makeText(AirconOrder3.this, "Cannot select past time", Toast.LENGTH_SHORT).show(); } } catch (ParseException e) { e.printStackTrace(); } } }, 12, 0, false ); timePickerDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); timePickerDialog.updateTime(t2Hour, t2Minute); timePickerDialog.show(); } });