3

我想在按钮点击中获得下周的价值,所以下面是我的代码

OnCreate 方法我声明日历对象并打印当前日期

    int WeekNumber;
    Calendar mCalendar = Calendar.getInstance();
    mCalendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
    SimpleDateFormat mDF = new SimpleDateFormat("dd MMMM");
    String printDate = mDF.format(mCalendar.getTime());
    mCalendar.add(Calendar.DAY_OF_MONTH, 6);
    String printDate2 = mDF.format(mCalendar.getTime());

    System.out.println(printDate + " >> " + printDate2);
    mTextView.setText(printDate + " >> " + printDate2);

下一步按钮单击

mButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            WeekNumber++;
            String ss=getNextWeek(WeekNumber);
            System.out.println("ss "+ss);
            mTextView.setText(ss);
        }
    });

getNextWeek() 方法代码

public static String getNextWeek(int weekFromToday) {
    System.out.println("Pass Wee "+weekFromToday);
    Calendar mCalendar =  Calendar.getInstance();
    mCalendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
    mCalendar.set(Calendar.WEEK_OF_YEAR, 
            mCalendar.get(Calendar.WEEK_OF_YEAR) + weekFromToday);          

    SimpleDateFormat mDF = new SimpleDateFormat("dd MMMM");
    String printDate = mDF.format(mCalendar.getTime());
    System.out.println(printDate);

    //gestureEvent.setText(reportDate);
    mCalendar.add(Calendar.DAY_OF_MONTH, 6);
    String printDate2 = mDF.format(mCalendar.getTime());
    System.out.println(printDate + " >> " + printDate2);
    return printDate + " >> " + printDate2;        
}

当我运行上面的代码时,当前周显示正确,02 Febuarry >> 08 Febuary但是当我单击下一个按钮时,它会打印错误的周值,23 March >> 29 March所以知道如何解决它吗?

4

1 回答 1

2

我在 y 代码中得到了解决方案,我将 weekNumber 值初始化为

WeekNumber=mCalendar.get(Calendar.WEEK_OF_YEAR);

所以我只是在上面评论,其余的代码都是原样的,它对我来说工作得很好!!

于 2014-02-04T04:55:56.373 回答