пользователь не должен выбирать прошедшее время и может выбирать прошлое и будущее с новыми датами - PullRequest
0 голосов
/ 12 сентября 2018
time.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Calendar scal = Calendar.getInstance();
            Calendar c = Calendar.getInstance();
            timePickerDialog = new TimePickerDialog(Newgame.this, R.style.DialogTheme, new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(TimePicker view, int selectedhour, int selectedminute) {

                    Calendar datetime = Calendar.getInstance();
                    calendar.set(Calendar.HOUR_OF_DAY, selectedhour);
                    calendar.set(Calendar.MINUTE, selectedminute);
                    if (calendar.before(GregorianCalendar.getInstance())) {
                        time.setText("");
                        Toast.makeText(Newgame.this, "Can't select past time", Toast.LENGTH_SHORT).show();
                    } else {
                        Calendar currenttime = Calendar.getInstance();
                        currenttime.set(Calendar.HOUR_OF_DAY, selectedhour);
                        currenttime.set(Calendar.MINUTE, selectedminute);
                        String timeSet = "";
                        if (selectedhour > 12) {
                            selectedhour -= 12;
                            timeSet = "PM";
                        } else if (selectedhour == 0) {
                            selectedhour += 12;
                            timeSet = "AM";
                        } else if (selectedhour == 12) {
                            timeSet = "PM";
                        } else {
                            timeSet = "AM";
                        }
                        String min = "";
                        if (selectedminute < 10)
                            min = "0" + selectedminute;
                        else
                            min = String.valueOf(selectedminute);
                        String aTime = new StringBuilder().append(selectedhour).append(':').append(min).append(" ").append(timeSet).toString();
                        time.setText(aTime);
                    }
                }
            },scal.get(Calendar.HOUR_OF_DAY),scal.get(Calendar.MINUTE), false);
            timePickerDialog.setTitle("Select Time");
            timePickerDialog.updateTime(c.get(Calendar.HOUR_OF_DAY),c.get(Calendar.MINUTE));
            timePickerDialog.show();

        }
    });

когда мы нажимаем на время, оно не должно выбирать прошедшее время сегодня, тогда как оно должно быть в состоянии занять будущее время. В ближайшие дни это должно занять время с 12:00 до 23:59, но мой код не может перенести сегодняшнее время.

Например, сейчас 18:00, мое приложение должно быть в состоянии занять время после 18:00, тогда как сегодня оно не должно занимать время до 18:00, но в ближайшие дни, включая завтра это должно быть в состоянии занять время как до, так и после 18:00.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...