在我的应用程序中,我在水平滚动列表视图中显示日历,如下所示:
日期是正确的,当前日期也被选中,我面临的问题是显示的工作日。这是不正确的。为显示这种日历而编写的代码如下:
int count = 0;
for (int i = 1; i <= noOfDays; i++) {
int year = Calendar.YEAR;
int month = Calendar.MONTH;
int day = i;
Calendar c = new GregorianCalendar(year, month, day);
c.set(year, month, day);
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
String d = sdf.format(cal1.getTime());
CustomData custom = new CustomData(String.valueOf(i),
getWeekday(c.get(Calendar.DAY_OF_WEEK)), d);
mCustomData[count] = custom;
Log.e("mCustomData", d);
count++;
if(Integer.parseInt(splitDateee[0])==i)
{
currentDate = i-1;
}
}
正在显示工作日的错误。我在这里失踪了什么?无法弄清楚问题。 请帮忙 !在此先感谢!
答案 0 :(得分:1)
int year = Calendar.YEAR;
int month = Calendar.MONTH;
这些是属于日历的标志,用于获取和设置值,并且不指示当前年份和月份。您需要从当前设备时间获取年份和月份并执行:
int year = currentYear;
int month = currentMonth;
致电Calendar.getInstance()
获取当天的日历:
Calendar now = Calendar.getInstance();
然后您可以使用这样的标志:
int month = now.get(Calendar.MONTH);
int year = now.get(Calendar.YEAR);