Wykorzystanie niestandardowych DatePickerDialog
dodać to w build.gradle
kompilacji 'com.wdullaer: materialdatetimepicker: 3.5.1'
wdrożenia
DatePickerDialog.OnDateSetListener do klasy
i importować
import com.wdullaer.materialdatetimepicker.date.DatePickerDialog; zamiast "import android.app.DatePickerDialog; '
i dodać tę metodę
private void showDatePicker() {
Calendar calendar = Calendar.getInstance();
DatePickerDialog dpd = DatePickerDialog.newInstance(
this,
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH)
);
dpd.show(getActivity().getFragmentManager(), "DatePickerDialog");
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
String a = "07-03-2018"; // example
java.util.Date date = null;
try {
date = sdf.parse(a);
} catch (ParseException e) {
e.printStackTrace();
}
calendar = dateToCalendar(date);
System.out.println(calendar.getTime());
List<Calendar> dates = new ArrayList<>();
dates.add(calendar);
Calendar[] disabledDays1 = dates.toArray(new Calendar[dates.size()]);
dpd.setDisabledDays(disabledDays1);
}
private Calendar dateToCalendar(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar;
}
@Override
public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
String date = dayOfMonth+"/"+(monthOfYear+1)+"/"+year;
textview.setText(date);
}
rozmowę showDatePicker().
przez wiele dni
to zmienić
String[] holidays = {"07-03-2018","05-03-2018","10-03-2018"};
java.util.Date date = null;
for (int i = 0;i < holidays.length; i++) {
try {
date = sdf.parse(holidays[i]);
} catch (ParseException e) {
e.printStackTrace();
}
calendar = dateToCalendar(date);
System.out.println(calendar.getTime());
List<Calendar> dates = new ArrayList<>();
dates.add(calendar);
Calendar[] disabledDays1 = dates.toArray(new Calendar[dates.size()]);
dpd.setDisabledDays(disabledDays1);
}
Dzięki tak dużo, to działa świetnie. Domyślam się, że standardowy android jest tak ograniczony. – Zapnologica
Jak przekazać dni w bibliotece wspomnianej powyżej, aby wyłączyć? Załóżmy, jak wyłączyć wszystkie weekendy? – prateek31
Utwórz tablicę dat, która nie obejmuje weekendów i przekaż ją jako daty do wyboru. – himanshu1496