سبد (0)

چرخه ی حیات فرگمنت ها

چرخه ی حیات در فرگمنت ها

فرگمنت ها همانند اکتیویتی ها چرخه ی حیات مختص به خود ر ا دارند.درک کردن چرخه ی حیات فرگمنت ها به شما کمک می کند که بتوانید یک وهله از فرگمنت ها را پس از نابود شدن حفظ کرده,و هنگام ایجاد دوباره ,حالت قبلی را بازیابی کنید.در قسمت زیر حالت های مختلفی را که ممکن است با فرگمنت ها تجربه کنید مشاهده می کنید:

همانطور که در تصویر بالا مشاهده می کنید وقتی که یک فرگمنت ایجاد می کنید,مراحل زیر برای آن اتفاق می افتد:

  • ()onAttach
  • ()onCreate
  • ()onCreateView
  • ()onActivityCreated

بخش دوم زمانی است که فرگمنت آماده ی نشان دادن می شود:

  • ()onStart
  • ()onResume

 بخش سوم زمانی است که فرگمنت به پس زمینه می رود و بدون آن که از بین برود,از حالت نمایش پنهان می شود:

  • ()onPause
  • ()onStop

زمانی که فرگمنت از بین میرود:

  • ()onPause
  • ()onStop
  • ()onDestroyView
  • ()onDestroy
  • ()onDetach

مانند اکتیویتی ها می توان یک سری از فرگمنت ها را به وسیله ی شئ Bundle در حالت زیر بازیابی کرد:

  • ()onCreate
  • ()onCreateView
  • ()onActivityCreated

بیشتر حالاتی که ممکن است برای یک فرگمنت اتفاق بیافتد شبیه حالاتی است که برای اکتیویتی پیش می آید.در زیر چند حالتی که مختص فرگمنت ها است را توضیح می دهیم:

  • ()onAttached : وقتی که یک فرگمنتی به اکتیویتی ملحق شود فراخوانی می گردد.
  • ()onCreateView : برای ایجاد یک View در فرگمنت فراخوانی می گردد.
  • ()onActivityCreated : زمانی که متد ()onCreate اکتیویتی تمام شد,فراخوانی می گردد.
  • ()onDestroyView : وقتی که View فرگمنت حذف شود,فراخوانی می گردد.
  • ()onDetach : وقتی که فرگمنتی از اکتیویتی جدا شود,فراخوانی می گردد.

نکته ی قابل توجهی که وجود دارد,تفاوت بین اکتیویتی ها و فرگمنت ها است.زمانی که اکتیویتی به پس زمینه می رود, در واقع در back stack قرار می گیرد که این به اکتیویتی اجازه می دهد تا وقتی کاربر دکمه ی back را می فشارد اکتیویتی قابل برگشت باشد.اما در مورد فرگنت ها این اتفاق به صورت خودکار نمی افتد و در back stack قرار نمی گیرد مگر اینکه متد ()addToBackStack را در فرگمنت ها فراخوانی کنید.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه