initialize کردن Fresco برای زمانی که از فرگمنت استفاده میکنیم
حل شده توسط
پوریا شفیعی
سلام استاد وقتتون بخیر
اگه بخوایم از simpleDraweeView داخل یه فرگمنت استفاده کنیم کجا باید initialize کنیم فرسکو رو؟ داخل متد onCreate خود فرگمنت هم امتحان کردم ولی بازم کرش کرد.
پویا جانم سلام
واسه حل این مشکل باید در متد onAttach مربوط فرگمنتت بیای و initialize کنی اما چطوری؟
public void onAttach(@NonNull Context context) {
super.onAttach(context);
Fresco.initialize(context);
}
اگر دقت کنی میبینی که من پارامتر context رو به متد initialize پاس دادم . و اینطوری مقدار دهی شد .
موفق باشی
بهترین پاسخ
پوریا شفیعی۰۴ اردیبهشت ۱۳۹۹، ۱۷:۰۱
سلام.توی داکیومنت نوشته فقط یک بار initial بشه و بنابراین میتونه توی کلاس Application میتونه قرار بگیره.چون ممکنه جاهای مختلفی از این لایبرری استفاده شه.اما اگه توی یک فرگمنت فقط میخواین توی onCreateView یا onViewCreated میتونید initial کنید.
sharareh amiri۰۹ اردیبهشت ۱۳۹۹، ۱۵:۰۵
اگه که قراره که تو کل پروژه ازش استفاده کنی که باید تو کلاس اپلیکیشن تعریفش کنی که بتونی از اون تو هر اکتیویتی یا فرگمنتی ازش استفاده کنی ولی اگه فقط قراره که داخل یه فرگمنت خاص ازش استفاده کنید باید متد onAttach رو صدا بزنی و از اون طریق مقدار دهی کنید.