我有一个模型,我想要相同的Android日历;我的代码如下:
模特:
public class NewSchedule
{
Calendar mCalendar;
String mDay;
public NewSchedule(Calendar nCalendar)
{
this.mCalendar = nCalendar;
this.mDay = String.valueOf(nCalendarDay.get(Calendar.DAY_OF_MONTH));
}
}
List<NewSchedule> mNewSchedule = new ArrayList()<>;
Calendar mCalendar = Calendar.getInstance();
for (int i=0; i<10;i++) {
mNewSchedule.add(new NewSchedule(mCalendar);
mCalendar.add(Calendar.DAY_OF_MONTH,1);
}
问题如果在最后如果循环我的模型存储在mCalendar变量中的所有值refletcs最后一个值;但mDay变量存储for循环的相应值;
前:
如果我的for循环从现在开始接下来的十天,我的mCalendar变量将在最后一个mCalendar值的末尾打印10个值,但mDay变量将显示正确的值(05,06,07 ...)< / p>
为什么?
答案 0 :(得分:0)
您正在循环之前创建日历实例。所以mCalender
的值保持不变。
将其更改为:
for (int i=0; i<10;i++) {
mNewSchedule.add(new NewSchedule(Calendar.getInstance().add(Calendar.DAY_OF_MONTH,1));
}