public void showSelectDayDialog() { final ViewPager viewPager = (ViewPager) view.findViewById(R.id.pager); final Activity a = getActivity(); final Calendar cCal = Calendar.getInstance(); cCal.add(Calendar.DAY_OF_YEAR, viewPager.getCurrentItem() - 500); DialogFragment ds = new DialogFragment() { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { return new DatePickerDialog( a, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet( DatePicker view, int year, int monthOfYear, int dayOfMonth) { Calendar nCal = Calendar.getInstance(); nCal.set(Calendar.YEAR, year); nCal.set(Calendar.MONTH, monthOfYear); nCal.set(Calendar.DAY_OF_MONTH, dayOfMonth); long timeDelta = nCal.getTimeInMillis() - cCal.getTimeInMillis(); int dayDelta = (int) (timeDelta / (60000 * 60 * 24)); viewPager.setCurrentItem(viewPager.getCurrentItem() + dayDelta); } }, cCal.get(Calendar.YEAR), cCal.get(Calendar.MONTH), cCal.get(Calendar.DAY_OF_MONTH)); } }; ds.show(getActivity().getFragmentManager(), "datepicker"); }
public void storeCurrentPage() { try { ViewPager pager = (ViewPager) view.findViewById(R.id.pager); SharedPreferences.Editor editor = getActivity().getSharedPreferences("plan", Context.MODE_PRIVATE).edit(); editor.putInt("currentPage", pager.getCurrentItem()); editor.apply(); } catch (NullPointerException e) { // Passiert ständig im Emulator } }
public boolean backPressed() { ViewPager pager = getViewPager(); int currentItem = pager.getCurrentItem(); if (currentItem != 500) { if (currentItem > 500) pager.setCurrentItem(currentItem - 1); if (currentItem < 500) pager.setCurrentItem(currentItem + 1); } else { getActivity().finish(); } return false; }