PDA

View Full Version : بر نگشتن به اکتیویتی هنگام زدن دکمه back-اساتید کمک



hamed9090
پنج شنبه 28 تیر 1397, 18:16 عصر
با سلام دوستان
من یه برنامه دارم که حدود 4 تا اکتیویتی دارم که پشت سر هم هستن و کاربر تو هر کدوم یه سری سوال رو پاسخ میده و در مرحله آخر که تموم شد نتیجه و نمره رو بهش نشون میدم و وقتی ثبت رو زد میره به صفحه اصلی.حالا مشکلم اینجاست چون نیاز دارم در زمان آزمون بتونه به مرحله قبل بره و وضعیت کنترل ها رو نگه دارم وقتی startactivity میکنم finish رو ننوشتم که بتونه برگرده.حالا مشکلم اینه وقتی آزمون تموم میشه و میره به صفحه اصلی با زدن دکمه back باز برمیگرده به همون اکتیویتا...راه حل چیه ...
اگه finish کنم تو حین آزمون نمیتونم back کنم...اگه finish نکنم این مشکل رو دارم ...
مممنون:قلب::قلب::قلب:

farhad_shiri_ex
جمعه 29 تیر 1397, 02:13 صبح
دوست عزیز!
برای اینکار استفاده از Fragment و View Pager که خیلی بهتر و بهینه تر هستش وتازه استفاده از فرگمنت ها خصوصیت Thread Safety بالایی دارند علی الخصوص در زمان چرخش گوشی و حفظ وضعیت آبجکتها چه در نخ اصلی ویا در نخ های دیگه!
ولی اگر درست متوجه شده باشم به نظرم در اکتیویتی آخر کافی که در متد onBackPress اکتیویتی جاری و اکتیویتی های دیگه را finish کنی به جز اکتیویتی اصلی ...

@Override
public void onBackPressed() {
if(!Activity4.super.isFinishing())
Activity4.super.finish();
if(!Activity3.super.isFinishing())
Activity3.super.finish();
if(!Activity2.super.isFinishing())
Activity2.super.finish();
}