在android中创建的自定义日历中出现的工作日是错误的

时间:2015-10-05 10:32:17

标签: android

在我的应用程序中,我在水平滚动列表视图中显示日历,如下所示: enter image description here

日期是正确的,当前日期也被选中,我面临的问题是显示的工作日。这是不正确的。为显示这种日历而编写的代码如下:

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;
        }


    }

正在显示工作日的错误。我在这里失踪了什么?无法弄清楚问题。 请帮忙 !在此先感谢!

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);