private void editRecur(Recur recur) { editStartDate(recur.startDate); RecurInterval interval = recur.interval; SpinnerAdapter adapter = sInterval.getAdapter(); int count = adapter.getCount(); for (int i = 0; i < count; i++) { SpinnerItem item = (SpinnerItem) adapter.getItem(i); if (interval == RecurInterval.valueOf(item.value)) { sInterval.setSelection(i); break; } } View v = selectInterval(interval); switch (interval) { case EVERY_X_DAY: editEveryXDay(v, recur); break; case WEEKLY: editWeekly(v, recur); break; case SEMI_MONTHLY: editSemiMonthly(v, recur); break; } RecurPeriod period = recur.period; sPeriod.setSelection(period.ordinal()); v = selectPeriod(period); switch (period) { case EXACTLY_TIMES: editExactlyTimes(v, recur.periodParam); break; case STOPS_ON_DATE: editStopsOnDate(v, recur.periodParam); break; } }