2014-07-31 3 views
0

Я все еще пытаюсь создать месяц с календарем.Как получить следующий месяц?

Моя проблема в том, что я понятия не имею, как я могу переключить месяц calendarView. Я хочу щелкнуть кнопку, и тогда в представлении появится следующий или последний месяц. Вид alredy заземлен, поэтому вы не можете прокрутить через.

CalendarView cal = (CalendarView) findViewById(R.id.calendarMonthView); 
    cal.setEnabled(false); 

Моя идея заключается в том, чтобы сделать это с помощью следующего кода:


долго dateOfLastMonth = currentMonth - месяц; // псевдокод

  CalendarView lastMonth = (CalendarView) findViewById(R.id.calendarMonthView); 
      lastMonth.setDate(**dateOfLastMonth**); 

Но я понятия не имею, какое значение dateOfLastMonth должен иметь.

Это правильный путь? Какая ценность должна быть dateOfLastMoth (не знаю, потому что она должна быть длинной)? Есть ли другой способ?

ответ

1

Попробуйте это:

Calendar cal = Calendar.getInstance(); // Calendar object, with time set to now 
cal.add(Calendar.MONTH, -1); // subtract a month 
long dateOfLastMonth = cal.getTimeInMillis(); // get the milliseconds since 01/01/1970 

Если вы хотите 1-го числа месяца это сделать

cal.set(Calendar.DAY_OF_MONTH, 1); 

Я предлагаю сделать это, прежде чем вычитанием в месяц, потому что я не знаю, что произойдет, если сегодня - 31-е число месяца, а в предыдущем месяце нет 31-го.

Edit: Это не было бы проблемой, если это 31-й, я просто попытался это и календарь просто устанавливает на 30 предыдущего месяца

+0

Это работает! Но из-за того, что вы не можете прокрутить его, вы все еще видите текущий месяц. ^^ –

 Смежные вопросы

  • Нет связанных вопросов^_^