alhazmy13 / hijridatepicker Goto Github PK
View Code? Open in Web Editor NEWMaterial (Gregorian - Hijri) Date & Time Picker
Home Page: alhazmy13.net
License: Apache License 2.0
Material (Gregorian - Hijri) Date & Time Picker
Home Page: alhazmy13.net
License: Apache License 2.0
I have this code:
val dateFormat = SimpleDateFormat("dd/MM/yyyy", Locale.US)
dateFormat.calendar = UmmalquraCalendar()
val calendar = UmmalquraCalendar()
calendar.time = dateFormat.parse("30/02/1442")!! // This will result calendar dated "01/02/1442" !
assert(dateFormat.format(calendar.time) == "30/02/1442") // Wrong!
This happen only when dd
is 30
.
It seems every time the day was 30
its parsing always 01
.
What I'm trying to do is parsing String
date to Calendar
object to pass it to HijriDatePickerDialog
.
Salam,
I noticed that the minimum year for Hijri date is 1400 AH, can I increase this limitation?
Thanks
to be able to pass the required locale to the library and then make it work with the required language like Arabic especially
With this library how would I go about putting the selected time value within my preferences? Like the AM value and PM value?
Hi,
App getting crash when the device language is other than English or Arabic with ummalqura calendar. I tried to update library version to 2.1.0. Unfortunately its min sdk is 19.
While building app with library version 2.1.0 throws following
uses-sdk:minSdkVersion 17 cannot be smaller than version 19 declared in library [net.alhazmy13.hijridatepicker:library:2.1.0] /Users/nasrudeen/.gradle/caches/transforms-1/files-1.1/library-2.1.0.aar/7e9872f81d3ff49e4969aa6dc6bcc092/AndroidManifest.xml as the library might be using APIs not available in 17
Suggestion: use a compatible library with a minSdk of at most 17,
or increase this project's minSdk version to at least 19,
or use tools:overrideLibrary="net.alhazmy13.hijridatepicker" to force usage (may lead to runtime failures)
//Error
java.util.MissingResourceException: Can't find bundle for base name com.github.msarhan.ummalqura.calendar.text.UmmalquraFormatData, locale es_ES
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1558)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1381)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:847)
at com.github.msarhan.ummalqura.calendar.UmmalquraDateFormatSymbols.initializeData(UmmalquraDateFormatSymbols.java:91)
at com.github.msarhan.ummalqura.calendar.UmmalquraDateFormatSymbols.(UmmalquraDateFormatSymbols.java:66)
at com.github.msarhan.ummalqura.calendar.UmmalquraCalendar.getDisplayName(UmmalquraCalendar.java:325)
at net.alhazmy13.hijridatepicker.date.hijri.HijriDatePickerDialog.updateDisplay(HijriDatePickerDialog.java:552)
at net.alhazmy13.hijridatepicker.date.hijri.HijriDatePickerDialog.onCreateView(HijriDatePickerDialog.java:409)
at android.app.Fragment.performCreateView(Fragment.java:2508)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1279)
at android.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2412)
at android.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2191)
at android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2147)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2048)
at android.app.FragmentManagerImpl$1.run(FragmentManager.java:719)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:171)
at android.app.ActivityThread.main(ActivityThread.java:6651)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)
Is there any way to use version 2.1.0 with min sdk 17?
Thank you.
Hi, I have an issue here:
09-27 10:56:03.189 E/ACRA (16515): ACRA caught a ArrayIndexOutOfBoundsException for com.example.app
09-27 10:56:03.189 E/ACRA (16515): java.lang.ArrayIndexOutOfBoundsException: length=1741; index=-1
09-27 10:56:03.189 E/ACRA (16515): at com.github.msarhan.ummalqura.calendar.UmmalquraGregorianConverter.d2h(UmmalquraGregorianConverter.java:75)
09-27 10:56:03.189 E/ACRA (16515): at com.github.msarhan.ummalqura.calendar.UmmalquraGregorianConverter.toHijri(UmmalquraGregorianConverter.java:24)
09-27 10:56:03.189 E/ACRA (16515): at com.github.msarhan.ummalqura.calendar.UmmalquraGregorianConverter.toHijri(UmmalquraGregorianConverter.java:17)
09-27 10:56:03.189 E/ACRA (16515): at com.github.msarhan.ummalqura.calendar.UmmalquraCalendar.computeFields(UmmalquraCalendar.java:444)
09-27 10:56:03.189 E/ACRA (16515): at java.util.Calendar.setTimeInMillis(Calendar.java:1122)
09-27 10:56:03.189 E/ACRA (16515): at java.util.Calendar.setTime(Calendar.java:1089)
09-27 10:56:03.189 E/ACRA (16515): at sa.com.rae.vzool.kafeh.ui.fragment.form.OwnerFormFragment.hijriDate(OwnerFormFragment.java:624)
09-27 10:56:03.189 E/ACRA (16515): at sa.com.rae.vzool.kafeh.ui.fragment.form.OwnerFormFragment$5.onClick(OwnerFormFragment.java:273)
09-27 10:56:03.189 E/ACRA (16515): at android.view.View.performClick(View.java:5706)
09-27 10:56:03.189 E/ACRA (16515): at android.view.View$PerformClick.run(View.java:22834)
09-27 10:56:03.189 E/ACRA (16515): at android.os.Handler.handleCallback(Handler.java:836)
09-27 10:56:03.189 E/ACRA (16515): at android.os.Handler.dispatchMessage(Handler.java:103)
09-27 10:56:03.189 E/ACRA (16515): at android.os.Looper.loop(Looper.java:203)
09-27 10:56:03.189 E/ACRA (16515): at android.app.ActivityThread.main(ActivityThread.java:6339)
09-27 10:56:03.189 E/ACRA (16515): at java.lang.reflect.Method.invoke(Native Method)
09-27 10:56:03.189 E/ACRA (16515): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1084)
09-27 10:56:03.189 E/ACRA (16515): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:945)
Thanks
Valid date should be between 1356 AH (14 March 1937 CE) to 1500 AH (16 November 2077 CE)
at com.github.msarhan.ummalqura.calendar.UmmalquraGregorianConverter.ummalquraData
com.github.msarhan.ummalqura.calendar.DateTimeException: Invalid Hijrah day of month: 31
at com.github.msarhan.ummalqura.calendar.HijrahChronology.getEpochDay(HijrahChronology.java:255)
at com.github.msarhan.ummalqura.calendar.HijrahChronology.toGregorian(HijrahChronology.java:697)
at com.github.msarhan.ummalqura.calendar.UmmalquraCalendar.set(UmmalquraCalendar.java:259)
at net.alhazmy13.hijridatepicker.date.hijri.HijriDatePickerDialog.getEndDate(HijriDatePickerDialog.java:1030)
at net.alhazmy13.hijridatepicker.date.hijri.MonthAdapter.getCount(MonthAdapter.java:147)
at android.widget.ListView.setAdapter(ListView.java:581)
at net.alhazmy13.hijridatepicker.date.hijri.DayPickerView.refreshAdapter(DayPickerView.java:142)
at net.alhazmy13.hijridatepicker.date.hijri.DayPickerView.setController(DayPickerView.java:114)
at net.alhazmy13.hijridatepicker.date.hijri.DayPickerView.(DayPickerView.java:105)
at net.alhazmy13.hijridatepicker.date.hijri.SimpleDayPickerView.(SimpleDayPickerView.java:32)
at net.alhazmy13.hijridatepicker.date.hijri.HijriDatePickerDialog.onCreateView(HijriDatePickerDialog.java:345)
at android.app.Fragment.performCreateView(Fragment.java:2505)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1303)
at android.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2431)
at android.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2210)
at android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2166)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2067)
at android.app.FragmentManagerImpl$1.run(FragmentManager.java:742)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7664)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
How we can move forward and backward in Hijri calendar . there is a problem if we swipe and click it can only move forward kindly tell me how to move backward in this calendar thanks
السلام عليكم ورحمة الله وبركاته ...
هل سيتم تحديث مكتبة الـ HijriDatePicker , لأنه كما تعلم تم تغيير الروزنامة حالياً بأول شهر ذي الحجة
الرجاء النظر بهذه المشكلة وأشكرك جداً , وأنا من مستخدمين هذه المكتبة شخصياً , جزاك الله خيراً عليها.
كما أتمنى أن يكون بها إضافات أخرى قد تساعد على إستخدامها بشكل أكبر وأوسع .
I'm using msarhan library for Ummalqura calendar in my Android application , When I open the calendar and select day 30 and go to last day 29 in another month and select it , the application crash com.github.msarhan.ummalqura.calendar.DateTimeException: Invalid Hijrah day of month: 30
below the Exception
com.github.msarhan.ummalqura.calendar.DateTimeException: Invalid Hijrah day of month: 30
at com.github.msarhan.ummalqura.calendar.HijrahChronology.getEpochDay(HijrahChronology.java:255)
at com.github.msarhan.ummalqura.calendar.HijrahChronology.toGregorian(HijrahChronology.java:697)
at com.github.msarhan.ummalqura.calendar.UmmalquraCalendar.set(UmmalquraCalendar.java:259)
at net.alhazmy13.hijridatepicker.date.hijri.HijriDatePickerDialog.onDayOfMonthSelected(HijriDatePickerDialog.java:991)
at net.alhazmy13.hijridatepicker.date.hijri.MonthAdapter.onDayTapped(MonthAdapter.java:235)
at net.alhazmy13.hijridatepicker.date.hijri.MonthAdapter.onDayClick(MonthAdapter.java:224)
at net.alhazmy13.hijridatepicker.date.hijri.MonthView.onDayClick(MonthView.java:598)
at net.alhazmy13.hijridatepicker.date.hijri.MonthView.onTouchEvent(MonthView.java:284)
at android.view.View.dispatchTouchEvent(View.java:14376)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
at android.widget.AbsListView.dispatchTouchEvent(AbsListView.java:6365)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3863)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3551)
at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:733)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1922)
at android.app.Dialog.dispatchTouchEvent(Dialog.java:1008)
at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:691)
at android.view.View.dispatchPointerEvent(View.java:14644)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6523)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6310)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5748)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5801)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5767)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5923)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5775)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5980)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5748)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5801)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5767)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5775)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5748)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8907)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8768)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8721)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:9043)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:194)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:336)
at android.os.Looper.loop(Looper.java:197)
build.gradle
api group: 'com.github.msarhan', name: 'ummalqura-calendar', version:'2.0.2'
implementation 'net.alhazmy13.hijridatepicker:library:3.0.0'
MyActivity
private fun showHijriDatePicker(
editText: TextInputEditText,
isFromDatePicker: Boolean = false
) {
val datePicker = HijriDatePickerDialog.newInstance(
{ _, year, monthOfYear, dayOfMonth ->
when (isFromDatePicker) {
true -> {
fromDateValue = formatHijriDate(year, monthOfYear, dayOfMonth)
}
false -> {
toDateValue = formatHijriDate(year, monthOfYear, dayOfMonth)
}
}
editText.setText(formatHijriDate(year, monthOfYear, dayOfMonth))
},
ummalquraCalendar.get(UmmalquraCalendar.YEAR),
ummalquraCalendar.get(UmmalquraCalendar.MONTH),
ummalquraCalendar.get(UmmalquraCalendar.DAY_OF_MONTH)
)
}
hi sur i am getting this error in my log
com.github.msarhan.ummalqura.calendar.text.UmmalquraFormatData_fr_FR', key
i followed exactly what you said i don't know why this error keep showing ...
Process: com.example.mon.muslim, PID: 3005 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mon.muslim/com.example.mon.muslim.Map}: java.util.MissingResourceException: Can't find resource for bundle 'com.github.msarhan.ummalqura.calendar.text.UmmalquraFormatData_fr_FR', key '' at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2699) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2773) at android.app.ActivityThread.access$900(ActivityThread.java:177) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1434) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5930) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200) Caused by: java.util.MissingResourceException: Can't find resource for bundle 'com.github.msarhan.ummalqura.calendar.text.UmmalquraFormatData_fr_FR', key '' at java.util.ResourceBundle.missingResourceException(ResourceBundle.java:238) at java.util.ResourceBundle.getBundle(ResourceBundle.java:230) at java.util.ResourceBundle.getBundle(ResourceBundle.java:159) at com.github.msarhan.ummalqura.calendar.UmmalquraDateFormatSymbols.initializeData(UmmalquraDateFormatSymbols.java:91) at com.github.msarhan.ummalqura.calendar.UmmalquraDateFormatSymbols.<init>(UmmalquraDateFormatSymbols.java:66) at com.github.msarhan.ummalqura.calendar.UmmalquraCalendar.getDisplayName(UmmalquraCalendar.java:325) at net.alhazmy13.hijridatepicker.date.hijri.HijriDatePickerDialog.updateDisplay(HijriDatePickerDialog.java:545) at net.alhazmy13.hijridatepicker.date.hijri.HijriDatePickerDialog.onCreateView(HijriDatePickerDialog.java:409) at android.app.Fragment.performCreateView(Fragment.java:2112) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:904) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1083) at android.app.BackStackRecord.run(BackStackRecord.java:834) at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1468)
السلام عليكم ،،،
أشكرك على هذا المجهود الجميل في إخراج هذه المكتبة بهذا الشكل ، ولكني لم أجد طريقة لتحويل النصوص إلى اللغة العربية مثل أسماء التواريخ والشهور ، هي الأرقام بالعربي صحيح وليست بالهندي بس الكلمات باللغة الإنكليزية.
أنا بحثت عن حلول ولكن لم تنجح معاي للأسف
Calendar uCal = new UmmalquraCalendar(1433, UmmalquraCalendar.RABI_AWWAL, 8, 20, 45, 10);
SimpleDateFormat dateFormat = new SimpleDateFormat("", new Locale("ar"));
dateFormat.setCalendar(uCal);
هل عندك فكرة تضيف دعم للغة العربية؟
شكرا جزيلا لك
Hi,
the library didn't include UmmalquraCalendar class on 2.1.0 version
hi because of nature of your app as an open source project i encourage you to make it available on the F-droid app store were only open source apps that respect the privacy of the users are
there is a lack of arabic/ islamic apps there
may Allah protect you
the official link : https://f-droid.org/en/
the submission process : https://gitlab.com/fdroid/rfp/
مشكلة في swipe ي
يمين وشمال عند الأيام
ساعات بتشتغل وساعات لا
I can't set minimum date lower than 1400 so I can't use it for birthdate
Even if I set a date less than 1400 the date picker will ignore
private fun showHijriCalendarDialog() {
val yesterdayCalendar = UmmalquraCalendar()
yesterdayCalendar.roll(Calendar.DAY_OF_YEAR, -1)
val datePickerDialog =
HijriDatePickerDialog.newInstance(
{ view, year, month, dayOfMonth ->
viewModel.birthDate = "$year/${month + 1}/$dayOfMonth"
birthDateTextView.text = viewModel.birthDate
(view as HijriDatePickerDialog).dismiss()
},
yesterdayCalendar.get(Calendar.YEAR),
yesterdayCalendar.get(Calendar.MONTH),
yesterdayCalendar.get(Calendar.DAY_OF_MONTH)
)
datePickerDialog.locale = Locale.getDefault()
datePickerDialog.minDate = UmmalquraCalendar(1356, 1, 1)
datePickerDialog.maxDate = yesterdayCalendar
datePickerDialog.show(childFragmentManager, null)
}
Date range picker is supported by MeterialDatePicker, I think it's an important feature, and many people looking for it.
Is there a way to customize the calendar dialog font type face ? Is there a way to customize the Dialog Style ?
when I implement and use Ummalquracalender I have this error.
com.github.msarhan.ummalqura.calendar.DateTimeException: Invalid Hijrah day of month: 31
at com.github.msarhan.ummalqura.calendar.HijrahChronology.getEpochDay(HijrahChronology.java:255)
at com.github.msarhan.ummalqura.calendar.HijrahChronology.toGregorian(HijrahChronology.java:697)
at com.github.msarhan.ummalqura.calendar.UmmalquraCalendar.set(UmmalquraCalendar.java:259)
at net.alhazmy13.hijridatepicker.date.hijri.HijriDatePickerDialog.getEndDate(HijriDatePickerDialog.java:1028)
at net.alhazmy13.hijridatepicker.date.hijri.MonthAdapter.getCount(MonthAdapter.java:146)
at android.widget.ListView.setAdapter(ListView.java:585)
at net.alhazmy13.hijridatepicker.date.hijri.DayPickerView.refreshAdapter(DayPickerView.java:142)
at net.alhazmy13.hijridatepicker.date.hijri.DayPickerView.setController(DayPickerView.java:114)
at net.alhazmy13.hijridatepicker.date.hijri.DayPickerView.(DayPickerView.java:105)
at net.alhazmy13.hijridatepicker.date.hijri.SimpleDayPickerView.(SimpleDayPickerView.java:32)
at net.alhazmy13.hijridatepicker.date.hijri.HijriDatePickerDialog.onCreateView(HijriDatePickerDialog.java:340)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
at androidx.fragment.app.DialogFragment.performCreateView(DialogFragment.java:489)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3138)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3072)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:501)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:246)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1425)
at android.app.Activity.performStart(Activity.java:7825)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3294)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
I also tried using maven but still not able to add library
HijriCalendarDialog should retain the last value selected, right now it always instantiates a new calendar and shows that value. Last selected value should be shown.
Salam,
Good work Abdullah!
It seems that there is no way to choose the language of the ui (i.e. done button, cancel button, month name, ...). It would be nice if the language can be set like this:
dialog.setUILanguage(HijriCalendarDialog.ARABIC);
By default the value returned by UmmalquraCalendar() for 17, Feb, 2016 is 8, Rabi II, 1437.
Which is wrong, as the correct date for this gregorian date(17,02,16) is 8, Jumaada al-awal, 1437.
Issue is in the HijriCalendar class where the UmmalquraCalendar is instantiated.
Dear,
Below image is taken from a device running on 5.0 OS. The button colors are not changing to Blue as you can see in the image. Although, I override the color property in my app but that is not affected to buttons at all.
Similarly, on lower device running on 4.2.2 OS, the button color is white irrespective of the theme color.
when trying to use the library i get: "Could not find 'net.alhazmy13.hijridatepicker:library:3.0.0'"
# السلام عليكم ورحمة الله وبركاته.
جزاكم الله خير أستاذ عبدالله الحازمي على الأعمال الكبير اللتي تقومون بها .
أريد فقط أستخراج التاريخ الهجري أي بمعنى آخر أريد عرضه في واجهة لدي ؟
ولكم جزيل الشكر والتقدير
The library doesn't show UmmalquraCalendar class.
I have tried both 3.0.2 and 3.0.0 versions :(
It is a strange that all months are showing only 29 days not even one month with 30 days!.
Can you please make push to your latest func like set min and max year ??
Hello,
Thanks for your great library, I was just wondering if there is a way to set min date below the year 1440
I tried the following code, but it didn't work, could you help me please with it thanks.
```
UmmalquraCalendar cal = new UmmalquraCalendar();
cal.set(1360, 1, 1);
dpd.setMinDate(cal);
Hi,
I have been trying to put a hijri date picker dialog to fetch date of birth. But it won't go past year 1400 Islamic year. Please help.
calmin.add(Calendar.YEAR,-80);
mindate = calmin.getTimeInMillis();
maxdate = calmax.getTimeInMillis();
showDatePicker(view, mindate, maxdate, tiDob.getTag());
HijriDatePickerDialog dpd = HijriDatePickerDialog.newInstance(
hijriDateSetListener,
now.get(Calendar.YEAR),
now.get(Calendar.MONTH),
now.get(Calendar.DAY_OF_MONTH)
);
dpd.setThemeDark(false);
dpd.vibrate(false);
dpd.dismissOnPause(true);
dpd.showYearPickerFirst(false);
dpd.setVersion(HijriDatePickerDialog.Version.VERSION_2);
if(minDate!=0) {
UmmalquraCalendar calMinDate = new UmmalquraCalendar();
calMinDate.setTimeInMillis(minDate);
dpd.setMinDate(calMinDate);
}
if(maxDate!=0) {
UmmalquraCalendar calMaxDate = new UmmalquraCalendar();
calMaxDate.setTimeInMillis(maxDate);
dpd.setMaxDate(calMaxDate);
}
UmmalquraCalendar now = new UmmalquraCalendar(); HijriDatePickerDialog hijriDatePickerDialog = HijriDatePickerDialog.newInstance(datePickerListener, now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DAY_OF_MONTH)); hijriDatePickerDialog.show(getFragmentManager(), "HijriDatePickerDialog");
Getting Cannot resolve method 'show(android.support.v4.app.FragmentManager, java.lang.String) error in hijriDatePickerDialog.show(getFragmentManager(), "HijriDatePickerDialog");
Convert to arabic ??
I keep getting this error, which i even tried copying the exact thing in order to identify the problems. Still not works. But with the sample provided, it works flawlessly.
My error is : Invalid Hijrah day of month : 31
Here i provide the stack error.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.myapplication, PID: 13658
com.github.msarhan.ummalqura.calendar.DateTimeException: Invalid Hijrah day of month: 31
at com.github.msarhan.ummalqura.calendar.HijrahChronology.getEpochDay(HijrahChronology.java:255)
at com.github.msarhan.ummalqura.calendar.HijrahChronology.toGregorian(HijrahChronology.java:697)
at com.github.msarhan.ummalqura.calendar.UmmalquraCalendar.set(UmmalquraCalendar.java:259)
at net.alhazmy13.hijridatepicker.date.hijri.HijriDatePickerDialog.getEndDate(HijriDatePickerDialog.java:1028)
at net.alhazmy13.hijridatepicker.date.hijri.MonthAdapter.getCount(MonthAdapter.java:146)
at android.widget.ListView.setAdapter(ListView.java:493)
at net.alhazmy13.hijridatepicker.date.hijri.DayPickerView.refreshAdapter(DayPickerView.java:142)
at net.alhazmy13.hijridatepicker.date.hijri.DayPickerView.setController(DayPickerView.java:114)
at net.alhazmy13.hijridatepicker.date.hijri.DayPickerView.(DayPickerView.java:105)
at net.alhazmy13.hijridatepicker.date.hijri.SimpleDayPickerView.(SimpleDayPickerView.java:32)
at net.alhazmy13.hijridatepicker.date.hijri.HijriDatePickerDialog.onCreateView(HijriDatePickerDialog.java:340)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2600)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:881)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:439)
at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2079)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
at androidx.fragment.app.FragmentManagerImpl$2.run(FragmentManagerImpl.java:150)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
it display a month in hijri with 31 days .... so how can modify to display just 30 day and is there and code to add or minus 2 days
We have noticed that HijriDatePicker change app locale when displaying Hijri Calendar.
if(GeneralAttribute.language == HijriCalendarDialog.Language.Arabic.getLanguageValue())callSwitchLang("ar"); else callSwitchLang("en");
Dear,
If you click on the empty area where there is no date, the application got crashed with an error Unable to parse Integer. Following is the code line of HijriCalendarView class where application is crashing:
calendarInstance.setDay(Integer.parseInt(temp.getText().toString()));
To fix this issues, correct the String empty check:
if (!temp.getText().toString().isEmpty())
to
if (!temp.getText().toString().trim().isEmpty())
How can I fix this error?
com.github.msarhan.ummalqura.calendar.DateTimeException: Invalid Hijrah day of month: 31
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.