آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

(HD) تحلیل کد !!!

HD Note  9 سال پیش  9 سال پیش
0 0

سلام خدمت دوستان گرامی لطفا یکی اینو برام تحلیل کنه خیلی ممنون میشم !
خیلی برام جالبه که کارای پدرش چیه که اونجا انجام میشه داخل  if 
D:

اینم فیلد
private boolean PressedOnce = false ;

 @Override
		public void onBackPressed() {
		if (PressedOnce) {
			super.onBackPressed();
			return;
		}
			this.PressedOnce=true ;
			Toast.makeText(this, "برای بازگشت دوباره بزن", Toast.LENGTH_SHORT).show();
			new Handler().postDelayed(new Runnable() {
				
				@Override
				public void run() {
						PressedOnce=false;
				}
			}, 1500);
		}
+2 0
سلام ، این کد برای خروج از برنامه هست به شرط اینکه 2 بار پشت سر هم ( زیر 1500 میلی ثانیه ) Back بزنی . (9 سال پیش)
0 0
اینو میدونم !!! تحلیلشو جوری می خوام بدونم که چطور میشه وقتی دوتا بک میزنی میاد بیرون ؟ (9 سال پیش)
+1 0
وقتی اولین back رو میزنی PressedOnce برابر false هست ، پس return نمیشه . بلافاصله PressedOnce برابر true میشه ، یعنی اگه یه Back دیگه بزنی شرط درسته و از برنامه میاد بیرون . اما اونجا که PressedOnce برابر True شد ، یه runnable اجرا میشه و کارش اینه که 1.5 ثانیه بعد PressedOnce رو false میکنه . یعنی تو این 1.5 ثانیه فرصت داشتی یه back دیگه بزنی و بیای بیرون . اما اگه تو این 1.5 ثانیه Back نزدی ، false میشه و دوباره باید 2 بار back بزنی ( بار اول برای true شدن و بار دوم برای بیرون اومدن ) . این روند ادامه داره تا زمانی که فاصله زمانی دو back شما زیر 1.5 ثانیه باشه . (9 سال پیش)
+2 0
فکر کنم شما مشکلتون این باشه که نمیدونید super.onBackPressed یعنی چی. این یعنی زمانی که روی back کلیک شد همون کار خودشو انجام بده یعنی برگشتن که اگر در اخرین اکتیویتی باشید از برنامه خارج میشه. این کدها باعث میشه که بار اول کدهای شما اجرا بشه و بار دوم super.onBackPressed که باعث میشه از برنامه خارج بشه. حالا با هندلر اومده بین این دوتا کلیک یک تایم در نظر گرفته. (9 سال پیش)
0 0
رضا و رامین دمتون گرم D: (9 سال پیش)
+1 0
لینک (9 سال پیش)
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .