مشکل دیالوگ انتخاب روز

ایراد از متد
@Override
public void set(int field, int value) {
super.set(field, value);
calculatePersianDate();
}
در کلاس
utils/PersianCalendar.java
هست موقعی که از متد
public void setPersianDate(int persianYear, int persianMonth, int persianDay) {
persianMonth += 1; // TODO
this.persianYear = persianYear;
this.persianMonth = persianMonth;
this.persianDay = persianDay;
YearMonthDay gregorianYearMonthDay = persianToGregorian(new YearMonthDay(persianYear, this.persianMonth - 1, persianDay));
this.set(gregorianYearMonthDay.year, gregorianYearMonthDay.month, gregorianYearMonthDay.day);
}
توی همین کلاس فراخوانی میشه. برای رفع این مشکل، بجای صدا زدن متد
set
متد
setTimeInMillis
رو صدا زدم.
public void setPersianDate(int persianYear, int persianMonth, int persianDay) {
persianMonth += 1; // TODO
this.persianYear = persianYear;
this.persianMonth = persianMonth;
this.persianDay = persianDay;
YearMonthDay gregorianYearMonthDay = persianToGregorian(new YearMonthDay(persianYear, this.persianMonth - 1, persianDay));
// new lines
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(getTimeInMillis());
calendar.set(gregorianYearMonthDay.year, gregorianYearMonthDay.month, gregorianYearMonthDay.day);
this.setTimeInMillis(calendar.getTimeInMillis());
}
@mohamad-amin اگه فرصت کردید ببینید قضیه چی هست و کد رو به روز کنید. ممنون
سلام، من هم همین مشکل رو مشاهده کردم. بعنوان مثال در سال98، برای ماه های فروردین، خرداد،شهریور،آبان و بهمن این مشکل وجود داره. به این صورت که وقتی دو روز خاص پشت سر هم انتخاب میشه تاریخ به یک ماه بعد انتقال داده میشه.که برای ماه های اعلام شده به ترتیب روزهای 11 و 12فرودین، 10 و 11خرداد، 9 و 10شهریور، 9 و 10 آبان،و نهایتا 11 و 12 بهمن ماه که پشت سر هم انتخاب شوند تاریخ به یک ماه بعد انتقال داده می شه. لطفا این مورد بررسی و رفع شود. ممنون