PersianMaterialDateTimePicker icon indicating copy to clipboard operation
PersianMaterialDateTimePicker copied to clipboard

Selected days

Open emadph opened this issue 7 years ago • 2 comments

با سلام اگر کتابخونه منقضی شده و دیگه پشتیبانی نمیشه لطفا اعلام کنید... چون الان حتی Sample خودتون هم کار نمیکنه قسمت selecteddays

emadph avatar Feb 04 '18 09:02 emadph

این تقویمو اگه دستی توی پروژه تون کپی کنید میتونید این کد رو به کلاس PersianCalander در متد addPersianDate اضاف کنید

else if(field == DAY_OF_MONTH){
			int day = getPersianDay();
			setPersianDate(persianYear , persianMonth , (amount));
			return;
		}

و از این متد برای ست کردن روز استفاده کنیم pc[i].addPersianDate(Calendar.DAY_OF_MONTH , i);

saeedhassankhan avatar Feb 23 '18 07:02 saeedhassankhan

در تایید صحبت دوستمون و منباب تکمیل کارشون اگر میخوایید یک تاریخ رو بگیره به فرض مثال 1398/01/02 و 1399/01/23 این روز ها رو فقط فعال کنه به این شکل عمل کنید :

این کد رو در کلاس PersianCalendar و به جای متد addPersianDate قرار دهید :

public void addPersianDate(int field, int amount , int amount1 , int amount2) { if (amount == 0) { return; // Do nothing! }

if (field < 0 || field >= ZONE_OFFSET) {
  throw new IllegalArgumentException();
}

if (field == YEAR) {
  setPersianDate(this.persianYear + amount, getPersianMonth(),
          this.persianDay);
  return;
} else if (field == MONTH) {
  setPersianDate(this.persianYear
                  + ((getPersianMonth() + amount) / 12),
          (getPersianMonth() + amount) % 12, this.persianDay);
  return;
}else if(field == DAY_OF_MONTH){

  setPersianDate((amount) , (amount1) , (amount2)  );
  return;
}
add(field, amount);
calculatePersianDate();

}

سپس به mainactivity بیاید و این کد رو به جای case R.id.multi_date_button: قرار دهید :

case R.id.multi_date_button: MultiDatePickerDialog mdpd = MultiDatePickerDialog.newInstance(MainActivity.this, null); PersianCalendar[] pc = new PersianCalendar[2]; pc[0] = new PersianCalendar(); pc[0].addPersianDate(PersianCalendar.DAY_OF_MONTH, 1398 , 00 , 02); pc[1] = new PersianCalendar(); pc[1].addPersianDate(PersianCalendar.DAY_OF_MONTH, 1399 ,00 , 17); mdpd.setSelectableDays(pc); mdpd.setThemeDark(modeDarkDate.isChecked()); mdpd.setTypeface(fontName); mdpd.show(getFragmentManager(), MULTIDATEPICKER); break; default: break;

پیرور و سربلند باشید

majidjamhsidi avatar Apr 06 '19 15:04 majidjamhsidi