Roojin/persian-calendar-view

مشکل هنگام لود کردن تقویم در دیالوگ فرگمنت

HeyPouya opened this issue · 9 comments

سلام
وقتی تقویم رو در دیالوگ فرگمنت لود میکنم اپ کرش میکنه.
لاگ کت :

 Caused by: java.lang.ClassCastException: android.view.ContextThemeWrapper cannot be cast to android.support.v7.app.AppCompatActivity
 at ir.mirrajabi.persiancalendar.PersianCalendarView.makeView(PersianCalendarView.java:102)
  at ir.mirrajabi.persiancalendar.PersianCalendarView.<init>(PersianCalendarView.java:35)

سلام
اکتیویتی ای که توش این ویو رو گذاشتی کدومه؟
android.support.v7.app.AppCompatActivity
یا
android.app.Activity

. هست AppCompatActivity اکتیویتی که از توش دیالوگ فرگمنتم رو کال میکنم

من دیالوگ فرگمنتم رو تبدیل کردم به دیالوگ اکتیویتی و مشکل رفع شد. فکر کنم مشکل از لود شدن فرگمنت های لایبراری توی یه فرگمنت دیگه باشه.

فک کنم متوجه شدم مشکل از کجاست ولی ممکنه یه مقدار طول بکشه تا وقت کنم فیکسش کنم.

من دیالوگ فرگمنتم رو تبدیل کردم به دیالوگ اکتیویتی و مشکل رفع شد. فکر کنم مشکل از لود شدن فرگمنت های لایبراری توی یه فرگمنت دیگه باشه.

اکتیویتی رو نتونه از توی کانتکست بکشه بیرون میره تو دیوار

من اینو تست کردم، ولی بعدش ویو رو پیدا نمیکرد.
else if (cont instanceof AppCompatActivity)
m = (AppCompatActivity)...;
else if (cont instanceof ContextWrapper)
m = (((ContextWrapper)cont).getBaseContext());

دوست عزیز منم از فرگمنت میخوام توی دیالوگ تقویم رو نشون بدم اینو میگه:
No view found for id 0x7f080055 (com.example.vahid.preinvoice:id/fragment_holder) for fragment CalendarFragment

من هم همین مشکل رو با این لایبرری دارم و متن ارور هم دقیقا همین هست

داخل BottomSheetDialogFragment هم این مشکل وجود داره

اگر فقط عرض و طول ست کنم
androidx.appcompat.view.ContextThemeWrapper 
cannot be cast to androidx.appcompat.app.AppCompatActivity

اگر رنگ یا تنظیم دیگه ای ست کنم
Error inflating class <unknown>
    Caused by: java.lang.reflect.InvocationTargetException

با فرگمنت تست کردم مشکلی نداره.