بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
راهنمایی درباره فرگمنت ها
سلام
فرض کنید ما دوتا فرگمنت داریم با نام های (A,B) و به محض اجرای برنامه فرگمنت A اجرا میشه و روی صفحه نشون داده میشه، حالا با استفاده از یک دکمه فرگمنت B رو هم اجرا میکنیم و روی صفحه قرار میگیره (A مخفی میشه)
حالا اگه گوشی رو روی حالت landscape قرار بدیم (یعنی کج کنیم) برنامه از وضعیت فعلی خارج میشه و دوباره فرگمنت A نمایش داده میشه ! (A > B > A)
چطوری میشه وضعیت فعلی رو حفظ کرد ؟
ببخشید که سوال طولانی شد
+1
0
همچین مشکلی برای من پیش نیومده ولی اگه از فرگمنت استاتیک استفاده می کنید این بار از داینامیک استفاده کنید و با متد replace فرگمنت ها رو عوض کنید احتمالا حل بشه. (9 سال پیش)
+3
0
زمانی که گوشی رو میبرید به حالت لنداسکیپ متد onCreate دوباره اجرا میشه و فرگمنت ها هم دوباره از اول اجرا میشن. شما همیشه اخرین فرگمنتت رو یه جایی داشته باش. مثلا یه متغیر داشته باش اول توش نوشته a بعد که رفتی توی فرگمنت B توش بنویس b. حالا توی اکتیویتیت متد onSavedInstance رو اورراید کن. توش مقدار این متغیرت رو ذخیره کنه. حالا اول متد onCreate بیا ورودی savedInstanseState رو چک کن اگ null نبود مقدار متغیر رو از توش در بیار و با توجه به اون فرگمنت رو ست کن. البته از متد onRestoreInstanceState هم میتونی استفاده کنی. لینک (9 سال پیش)
0
0
تشکر از دوستان عزیز مخصوصا آقای کریمی، تا حد زیادی مشکلم رفع شد. (9 سال پیش)
0
0
خواهش میکنم (9 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .