см. Ошибку, показанную на рисунке выше.
Эта проблема проявляется, когда я установил calendarView.setMinDate
, и я не могу решить, сталкиваюсь ли я с этой проблемой, когда Я использую календарь
Фоновое параллельное копирование. G C освобождено 98234 (2 МБ) объектов AllocSpace, 1 (1564 КБ) объектов LOS, 41% свободных, 34 МБ / 58 МБ, приостановлено 139 всего 366,099 мс
вот мой код
public class select_time extends BaseActivity {
@BindView(R.id.calendarView)
CalendarView calendarView;
DatesView datesView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.select_time);
ButterKnife.bind(this);
in = getIntent().getBooleanExtra("in", true);
datesView = new DatesView(findViewById(R.id.datesView));
datesView.setOnCalenderClick(new DatesView.onClenderClick() {
@Override
public void OnClick(boolean in) {
setWanted(in);
}
});
datesView.refresh(this);
refreshCalendar();
calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int day) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, day, 0, 0, 0);
SharedPreferences prefs = getSharedPreferences("data", 0);
prefs.edit().putLong((in ? "in" : "out") + "_date", calendar.getTimeInMillis()).apply();
if (in) {
if (calendar.getTimeInMillis() == out_date.getTime() || calendar.getTimeInMillis() >= out_date.getTime()) {
calendar.add(Calendar.DATE, 1);
prefs.edit().putLong("out_date", calendar.getTimeInMillis()).apply();
}
} else {
if (calendar.getTimeInMillis() == out_date.getTime() || calendar.getTimeInMillis() <= out_date.getTime()) {
calendar.add(Calendar.DATE, -1);
prefs.edit().putLong("in_date", calendar.getTimeInMillis()).apply();
}
}
datesView.refresh(select_time.this);
}
});
}
Date in_date,out_date;
public void refreshCalendar(){
SharedPreferences prefs = getSharedPreferences("data", 0);
in_date = new Date(prefs.getLong("in_date", 0));
out_date = new Date(prefs.getLong("out_date", 0));
calendarView.setMinDate(System.currentTimeMillis() - 1000);
calendarView.setDate(in ? in_date.getTime() : out_date.getTime());
setWanted(in);
}
boolean in;
public void setWanted(boolean in) {
this.in = in;
datesView.check_in.setBackgroundColor(getResources().getColor(in ? R.color.gray : R.color.white));
datesView.check_out.setBackgroundColor(getResources().getColor(!in ? R.color.gray : R.color.white));
refreshCalendar();
}
public void clickDone(View view) {
finish();
}
}
Может кто-нибудь помочь мне с использованием Каландра?