2016-08-21 108 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来实现这种类型的功能呢? –

相关问题