نکته ی جالب در مورد Intent.FLAG_ACTIVITY_CLEAR_TOP
دوستانی که از انگلیسی سر در میارن لطفا این متن رو بخونن ببینن من درست فهمیدم ؟!
(دستوری هست که وقتی از یک اکتیویتی به اکتیویتی دیگه بری بقیه رو ببنده :| )
Read it once and you will never have the problem in the usage of flag_activity_clear_top Here is a simple clarification regarding the usage of Flag_Activity_Clear_Top. One Liner Formula for its right use : It always clears the intermediate Activities ( if any ) between the calling activity and
the called activity. Here is an Activity Flow : Activity A -> Activity B -> Activity C ( use flag activity clear top to go to D)
->Activity D In the above sequence when reaching to D if we press back then we will get Activity
C->Activity B-> Activity A , as there is no INTERMEDIATE ACTIVITY between Activity C and Activity D Myth of some developers here is - After reaching the activity D by using flag activity clear top from C, they
were expecting that on the press of back key from D will take them to outside
the application., which will never happen. Flag_Activity_Clear_Top always always clears the INTERMEDIATE ACTIVITIES BETWEEN
THE TWO ACTIVITIES IF ANY
اینجوری که من فهمیدم ، میگه این دستور ، فقط تو این شرایط کار میکنه که از اکتیویتی 1 به 2 و بعد به 3 رفته باشی و بعد بخوای از 3 به 1 بری
یعنی اگه از 3 به 4 بری ، هیچ کاری نمیکنه ! ، که من کلی درگیرش شدم :(( ، از روش دیگه ای استفاده کردم ، ولی جالب بود ، گفتم شما هم بدونید
alu با عرض پوزش و تشکر از این تاپیکی که ساختی من ترجمشو جوری که فهمیدم میذارم تا بقیه هم استفاده کنن
ترجمه: {
« این جمله رو یه بار بخونید دیگه توی استفاده از flag_activity_clear_top ندارید
این مثال برای شفاف سازی چگونگی استفاده از flag_activity_clear_top هست.
یک فرمول برای استفاده از این قانون:
این متد به ازای هر اکتیویتی که بین اکتیویتی جاری و اکتیویتی فراخوانی شده هست اجرا میشه (یعنی هر اکتیویتی که بینشون باشه از حافظه خارج میشه.)
اگه بخوایم سلسله مراتبی بررسی کنیم (وقتی دارید مثال پایین رو میخونید اکتیویتی ها رو تو ذهن خودتون ترسیم کنید):
اکتیویتی "الف" > اکتیویتی "ب" > اکتیویتی "ج" > (اینجا flag_activity_clear_top اجرا میشه بعد به اکتیویتی بعدی میریم) > اکتیویتی "د" ( فارسی را پاس بداریم :)، ولی توی برنامه نویسی اگه پاس نداریم بهتره :) )
آقا/خانم حالا ما توی اکتیویتی "د" هستیم (طبق سلسله مراتب بالا). حالا اگه دکمه 'back' رو بزنیم میریم به اکتیویتی "قبلیش" (یعنی "ج") بعد به همین ترتیب اکتیویتی "ب" بعد هم اکتیویتی "الف".
بعضی از برنامه نویسا فکر میکنن که وقتی بوسیله flag_activity_clear_top از اکتیویتی "ج" به "د" میریم و بعد توی اکتیویتی "د" دکمه 'back' رو میزنیم باید از application کلا خارج بشیم، که این اتفاق اصلا رخ نمیده.
بابا flag_activity_clear_top همیشه اکتیویتی های بین اکتیویتی جاری و اکتیویتی مقصد رو از حافظه خارج میکنه، به اکتیویتی های قبل و بعدش چکار داره. وااللااا ( این حرف نویسنده اصلی بود بنده فقط یکم پیاز داغشو زیاد کردم :) ) »
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .