توضیحات پیشنهادی نظرات اشتراک
تبلیغات

آموزش خروج از برنامه با دوبار کلیک روی Back در اندروید

خروج از برنامه با دوبار کلیک روی Back در اندروید

شاید دیده باشید بعضی از برنامه ها موقع زدن دکمه خروجشان، یک toast نشان میدهند که برای خروج دوباره کلیک کنید و این کلیک هم بایستی زیاد طول نکشد. در واقع دو کلیک پشت سر هم برای خروج از برنامه باید صورت گیرد.

اختلاف زمانی را در متغیر time_interval بنویسید و کاربر بعد از کلیک اول به اندازه time_interval فرصت دارد تا کلیک دوم را برای خروج انجام دهد، و در غیر این صورت باید از اول این کار را انجام دهد. (متغیر time_interval را فرصت یا فاصله تا کلیک بعدی در نظر می گیریم)

اما کد چگونه کار می کند؟

در متغیر oldCurrentTimeMillis زمان آخرین کلیک را قرار می دهیم و این را نیز می دانیم که مقدار اولیه آن 0 است. پس وقتی دکمه Back کلیک می شود، محاسبه می کنیم که اگر “مجموع زمان آخرین کلیک به اندازه time_interval تا بیش تر” از “زمان فعلی” کم تر باشد، اعلام کند که کلیک بعدی بایستی انجام شود و در کلیک بعدی دوباره این بررسی می شود و اگر این مجموع، بیشتر باشد، از اکتیویتی خارج می شود.
شاید کمی گیج کننده  به نظر برسد ولی بسیار ساده است و با کمی دقت کردن قابل درک است.

مثال

ما گفتیم اختلاف کلیک اول و دوم دو ثانیس پس time_interval رو دو قرار میدیم و اگه اختلاف بیش تر از دو ثانیه بود، از اکتیویتی خاج نشه. ما زمان آخرین بک رو توی متغیری نگه میداریم. در ابتدا زمان آخرین بکمون صفره. توی رویداد بک می گیم اگه زمان آخرین بک رو به اندازه اختلاف تا ببری جلو و این مقدار از زمان کلیک فعلی بیش تر باشه از برنامه خارج شو… پس با کلیک اول این مقدار بیش تر نیست چون مقدار آخرین کلیک صفره… حالا توی کلیک دوم بازم آخرین کلیک رو با اخلاف زمانی بین دو کلیک جمع می کنه و بررسی می کنه اگه از زمان فعلی که کلیک شد بیش تر باشه، خارج شه.
شاید بگید چرا بیش تر باشه؟ چون اگه زمان آخرین کلیک رو به اندازه اختلاف بین دو کلیک ببریم جلو و اگه این مقدار از مقدار زمان کلیک فعلی بیشتر باشه، در نتیجه زمان فعلی هنوز بیش تر از دو ثانیه نشده… چون زمان قبلیو با دو ثانیه جمع کردیم و رفتیم به آینده… امیدوارم حرفم قابل درک باشه چون دیگه بیش تر از این نمیشد?

مرتبط:

کانال تلگرام فول کده

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

علاقه‌مند به اشتراک‌گذاری اطلاعات در هر زمینه‌ای
برنامه‌نویس فول استک

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده ۱ دیدگاه