Как отключить будущие даты в calendarView [дубликаты]

1

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

Это мой код

public class Kegiatan extends AppCompatActivity {

private CalendarView calendarKegiatan;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_kegiatan);

    calendarKegiatan = (CalendarView) findViewById(R.id.calendarKegiatan);

    calendarKegiatan.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
        @Override
        public void onSelectedDayChange(@NonNull CalendarView view, int year, int month, int day) {

            Date getdate = Calendar.getInstance().getTime();

            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/M/d");
            String dateNow = dateFormat.format(getdate);
            String date = year + "/" + (month + 1) + "/" + day;

            if (date.equals(dateNow)) {
                Intent intent = new Intent(Kegiatan.this, ListKegiatan.class);
                intent.putExtra("tanggal", date);
                startActivity(intent);
            } else {
                Toast.makeText(Kegiatan.this, "Dilarang laporan di hari selanjutnya", Toast.LENGTH_SHORT).show();
            }
        }
    });
    calendarKegiatan.setFocusedMonthDateColor(Color.GREEN);


}

}

Теги:
date
calendarview

2 ответа

0
Лучший ответ

Решение вашей проблемы довольно простое. Просто установите MaxDate на текущую дату. Вы можете иметь свой код так:

//Declare and initialize your calendarView object.
calendarKegiatan = (CalendarView) findViewById(R.id.calendarKegiatan);


//Set the maximum date
calendarKegiatan.getDatePicker().setMaxDate(System.currentTimeMillis());


//Listen for changes to the date and paste your original logic
calendarKegiatan.setOnDateChangeListener(new CalendarView.OnDateChangeListener(){...};


//Do more awesome stuff
calendarKegiatan.setFocusedMonthDateColor(Color.GREEN);

Я надеюсь, что это помогает.. Веселое кодирование!

0

Ты пробовал:

calendarKegiatan = (CalendarView) findViewById(R.id.calendarKegiatan);

calendarKegiatan.setMaxDate(System.currentTimeMillis());

Это должно отключить все будущие даты.

  • 0
    Спасибо, ваш ответ очень поможет мне, сэр. Я попробовал это и добавил еще немного кода, и это сработало

Ещё вопросы

Сообщество Overcoder
Наверх
Меню