В этом случае вы должны вызывать API каждый раз, когда вы меняете дату в календаре. Этот API предоставит вам данные в своем ответе, просто установите эти данные в ваших полях.
Есть несколько шагов, чтобы следовать.
1 - В методе onSelectedDayChange для datePicker вы получаете «int year, int month, int dayOfMonth». Преобразуйте эти поля в формат даты, понятный вашему API.
Чтобы узнать, как преобразовать эти поля в формат даты, перейдите по этой ссылке
Создание объекта даты Java из года, месяца, дня
2 - Теперь вызовите этот APi, этот API вернет вам результат этих 4 полей в своем ответе.
3- Просто отобразите эти данные в этих полях.
Тебе понравился код
@Override
public void onSelectedDayChange(@NonNull CalendarView view, int year, int month, int dayOfMonth) {
Calendar cal= Calendar.getInstance();
cal.set(year, month - 1, dayOfMonth, 0, 0);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String date=format.formate(cal.getTime());
APIInterface apiInterface = APIClient.getClient().create(APIInterface.class);
Call<APIData> call = apiInterface.gethistorydetails("s10-1", date);
call.enqueue(new Callback<APIData>() {
@Override
public void onResponse(Call<APIData> call, Response<APIData> response) {
Log.d("TAG",response.code()+"");
APIData apiData = response.body();
// Here you will get data from this api and display it on your required fields
}
@Override
public void onFailure(Call<APIData> call, Throwable t) {
}
});