public void onDateSet(DatePicker view, int year, int month, int day) { // Do something with the date chosen by the user Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, year); c.set(Calendar.MONTH, month); c.set(Calendar.DAY_OF_MONTH, day); Date weekStart = Week.getWeekStart(c.getTime()); instance.mGshisLoader.setCurrWeekStart(weekStart); Pupil p = Pupil.getByFormName(instance.mGshisLoader.getLogin(), instance.getPupilName()); if (p != null) { Schedule s = p.getScheduleByDate(weekStart); for (int index = 0; index < 4; index++) { GradeSemester sem = s.getSemesterByNumber(index); if (sem != null && sem.getStart().getTime() <= weekStart.getTime() && sem.getStop().getTime() >= weekStart.getTime()) { instance.mViewPager.setCurrentItem(index, true); break; } } } // this picker should not load again instance .getHandler() .postDelayed( new Runnable() { public void run() { instance.recreate(); } }, 1); }