2013-03-30 26 views
1

下面的代碼工作正常,除非calendar.MONTH set to 1 (Feb),我不知道爲什麼? 謝謝。Android日曆illegalArgumentException當calendar.month設置爲1時

Calendar calendar = Calendar.getInstance(); 
    calendar.setLenient(false);  
    calendar.set(Calendar.YEAR, 2013);  
    calendar.set(Calendar.MONTH, 1); // Only when "Feb" failed with illegalArgumentException  

    int maxDays = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); <= If Calendar.MONTH set to 1, this line will "java.lang.IllegalArgumentException"   

回答

1

你得到的getInstance在當前日期referrred。然後你將月份設置爲二月份。問題是今天是第30個。二月有28天。這是一個非法組合。將當天更改爲有效日期,然後更改月份。

+0

是的,這是答案。謝謝.... – andrewwang1TW

+0

@ andrewwang1TW如果這解決了你的問題..不要忘記標記爲答案,通過點擊答案旁邊的正確標記.. – Pragnani

+0

@Pragnani,StackOverflow上的很多標記,我已經檢查了幾個標記,但不確定哪一個是「標記爲答案」......「答案旁邊是右邊的標記」? – andrewwang1TW

0

在組方法更改字段名

calendar.YEAR to Calender.YEAR 
calendar.MONTH to Calender.MONTH 

他們是靜態字段,並應與類

+0

謝謝。它是錯字,「java.lang.IllegalArgumentException」仍然存在,即使是Calender.YEAR和Calender.Month。 – andrewwang1TW