Я хочу отключить следующий день, но не предыдущий. Я узнал, как отключить его на следующий день, но за предыдущий день он также был отключен. пожалуйста, помогите мне
Это мой код
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);
}
}
Решение вашей проблемы довольно простое. Просто установите 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);
Я надеюсь, что это помогает.. Веселое кодирование!
Ты пробовал:
calendarKegiatan = (CalendarView) findViewById(R.id.calendarKegiatan);
calendarKegiatan.setMaxDate(System.currentTimeMillis());
Это должно отключить все будущие даты.