دوره زبان تخصصی برای برنامه‌نویسان (هدیه ویژه ثبت‌نام در دوره‌های متخصص) (فرصت محدود ⏰)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ Ali Rah
کال نشدن متد OnCreateView فرگمنت Main برای بار دوم
جامعه جاوا (اندروید) ایجاد شده در ۲۴ اردیبهشت ۱۴۰۰

سلام

یک سوال دارم در مورد LifeCycle فرگمنت Main.مگه نباید وقتی که از اکتیویتی دوم که اینجا جزییات محصول هست به اکتیویتی اول برمیگردیم ، طبق LifeCycle فرگمنت، متد Oncreateview مربوط به فرگمنت برای بار دوم کال بشه ؟

فقط break point متد Onstart فرگمنت کال میشه.

 

 

سلام و احترام

 

هنگامی که کاربر از فرگمنت A به فرگمنت B کوچ کند در این حالت ابتدا رویدادهای on Attach و on Create برای فرگمنت B اجرا می‌شود و سپس رویداد on Pause و on Stop و on DestroyView برای فرگمنت A اجرا می‌شود و سپس در ادامه چرخه حیات فرگمنت B به صورت on CreateView و on ViewCreated و on ActivityCreated و on Start و on Resume اجرا می‌شود.

اگر با زدن دکمه Back از فرگمنت B به فرگمنت A بازگردد برای فرگمنت B رویدادهای on pause و on Stop و on DestroyView و on Destroy اجرا می‌شود و در ادامه برای فرگمنت A رویدادهای on CreateView و on ViewCreated و on ActivityCreated و on Start و on Resume اجرا می‌شود.

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

پوریا شفیعی ۲۵ اردیبهشت ۱۴۰۰، ۱۷:۳۶