2016-08-21 77 views
0

我想使用android CalendarView向用戶顯示特定的月份。請幫助我實現此功能。我寫了下面的代碼,但它不起作用。如何在android CalendarView中顯示特定的月份?

CalendarView calendarView = (CalendarView) findViewById(R.id.calendarView); 
    Calendar calendar1 = Calendar.getInstance(); 
    calendar1.set(2016, 6, 1); 

    Calendar calendar2 = Calendar.getInstance(); 
    calendar2.set(2016, 6, 30); 

    calendarView.setMinDate(calendar1.DATE); 
    calendarView.setMaxDate(calendar2.DATE); 

下面的輸出即將到來,當我試圖運行應用程序使用上述代碼。

enter image description here

+1

要顯示 –

+0

提示哪個月設置日曆視圖中選擇日期:什麼是價值[ 'Calendar.DATE'](https://developer.android.com/reference/java/util/Calendar.html#DATE)? –

+0

六月,我想展示的月份。 –

回答

2

提示:什麼是的Calendar.DATE價值?文檔說5,所以當你調用這個方法時,你說的是「1970年1月1日之後的5毫秒」。

setMinDate(long minDate)

設置自1970年1月1日00:00:00在getDefault()時區由該CalendarView以毫秒爲單位支持的最小日期。

基本上,這是一個靜態字段,可能不是您想要的值。

也許你想要getTimeInMillis()它返回long您設置的日期在?

calendarView.setMinDate(calendar1.getTimeInMillis()); 
calendarView.setMaxDate(calendar2.getTimeInMillis()); 
+0

謝謝。我剛剛將(calendar1.DATE)更改爲(calendar1.getTimeInMillis())。現在我得到了我想要的東西。非常感謝你 –

+0

很高興聽到它。您可以通過[接受答案]顯示您的感謝(http://stackoverflow.com/help/someone-answers) –

+0

我需要一個更多的幫助。如果你有時間,那麼請儘量幫助我。 –

0

從我的經驗,我總是用Calender.set(Calendar.YEAR,年)方法來設置一年Calender.set(的Calendar.MONTH,月)方法設置月份和Calender.set(日曆。日,日)方法來設定日期。所以,我建議你做同樣的,

String date = "1/6/2016"; 
    String parts[] = date.split("/"); 
    int day = Integer.parseInt(parts[0]); 
    int month = Integer.parseInt(parts[1]); 
    int year = Integer.parseInt(parts[2]); 

    Calendar calendar = Calendar.getInstance(); 
    calendar.set(Calendar.YEAR, year); 
    calendar.set(Calendar.MONTH, month); 
    calendar.set(Calendar.DAY_OF_MONTH, day); 

    long milliTime = calendar.getTimeInMillis(); 

現在做

mCalendarView.setDate (milliTime, true, true); 
+0

好的。謝謝。我已經實現了與您在此處編寫的代碼相同的代碼。非常感謝你的兄弟。 –

+0

我需要一個更多的幫助。請幫我哥哥。 –

+0

我需要使用不同的背景顏色在CalendarView中顯示日期。我們如何實現這種類型的功能,例如我們需要將2016年8月2日,2016年8月15日和2016年8月18日的日期顯示爲綠色的本月的紅色和剩餘日期。那麼我們如何使用android CalendarView來實現這種類型的功能呢? –

相關問題