【问题标题】:Issue in getting Next Week value in button click android在按钮单击android中获取下周值的问题
【发布时间】:2014-02-27 22:14:32
【问题描述】:

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

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,所以知道如何解决它吗?

【问题讨论】:

  • int weekNumber = what?你首先在哪里设置weekNumber的值
  • @user2450263 :看看我的回答,你就会明白了!!

标签: android date calendar week-number weekday


【解决方案1】:

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

WeekNumber=mCalendar.get(Calendar.WEEK_OF_YEAR);

所以我只是在上面的行中评论,其余代码保持原样,对我来说工作正常!!

【讨论】:

    猜你喜欢
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多