soroushbonab

finish اکتیویتی با کلیک دکمه back

14 ارسال در این موضوع قرار دارد

سلام

کسی میدونه چه کدی رو باید تو اکتیویتی قرار بدیم که با کلیک روی دکمه بازگشت اندروید اکتیویتی رو به اصطلاح kill بکنه؟

لطفا کمک کنید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

توسط دستور

finish();

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

توسط دستور

finish();

اینو میدونم، یه متد بنام onBackPress  هست که باید از این استفاه کنیم ، ولی عمل‌نمی کنه ، می خوام بدونم چه کدی رو باید تو این استفاده کنیم

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

کدش اینه:

	@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
	// TODO Auto-generated method stub

	if (keyCode == KeyEvent.KEYCODE_BACK) {

		finish();

	}

	return super.onKeyDown(keyCode, event);
}

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز. به طور پیش فرض با زدن دکمه برگشت، اکتیویتی kill خواهد شد. مگر اینکه شما بیاین و در onBackpress چیز دیگه ای تعریف کنین

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

کدش اینه:

	@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
	// TODO Auto-generated method stub

	if (keyCode == KeyEvent.KEYCODE_BACK) {

		finish();

	}

	return super.onKeyDown(keyCode, event);
}

این اصن کار نمیکنه!!

مثلا اگر بجای finish(): یه کد مثلا نمایش یه دیالوگ رو بذاریم کد عمل نمیکنه!

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز همینطور که دوستمون گفتن با زدن کلید برگشت به طور پیش فرض اکتیویتی بسته میشه حالا اگر برنامه شما نمیشه چک کنید مشکلی نداشته باشه

برای این کار از این کد هم میتونید استفاده کنید

 } ()public void onBackPressed 

;()finish

{

این کد رو باید توی فایل جاوای هر اکتیویتی بنویسید یعنی اگر چند تا اکتیویتی دارین در فایل جاوای همه باید نوشته بشه

در ضمن این کد باید زیر تعریف کلاس نوشته بشه یعنی زیر خط اول کد فایل جاوای شما که کلاسو تعریف کرده اینو بنویسید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

داخل دیالوگ این کد سبب بستن برنامه میشه

android.os.Process.killProcess(android.os.Process.myPid());

www.56k.ir

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز همینطور که دوستمون گفتن با زدن کلید برگشت به طور پیش فرض اکتیویتی بسته میشه حالا اگر برنامه شما نمیشه چک کنید مشکلی نداشته باشه

برای این کار از این کد هم میتونید استفاده کنید

 } ()public void onBackPressed 

;()finish

{

این کد رو باید توی فایل جاوای هر اکتیویتی بنویسید یعنی اگر چند تا اکتیویتی دارین در فایل جاوای همه باید نوشته بشه

در ضمن این کد باید زیر تعریف کلاس نوشته بشه یعنی زیر خط اول کد فایل جاوای شما که کلاسو تعریف کرده اینو بنویسید

این کد تا حدودی کار میکنه، من یه تایمر تو یه اکتیویتی دارم که بعد از تموم شدنش یه زنگ رو به صدا در میاره، حالا من میخوام وقتی دکمه ی back زده میشه با finish کردن اکتیویتی تایمر هم وایسه و دیگه کار نکنه، اما وقتی دکمه ی back رو میزنیم تایمر همینطور کار خودش رو انجام میده و وقتی زمان مشخص شدش تموم میشه، برنامه کرش میکنه و force stop میده ، برای کد تایمر هم از این استفاده کردم(همون که یه تیک سبز کنارش خورده):

http://stackoverflow.com/questions/12082831/how-to-add-timer-to-app

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

زیر void خط قرمز میکشه و ایراد میگیره.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

داخل دیالوگ این کد سبب بستن برنامه میشه

android.os.Process.killProcess(android.os.Process.myPid());

www.56k.ir

بله درسته.کافیه داخل onbackpressed اگه درست نوشته باشم همین کد بالا رو بنویسید

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

onBackPressed رو دقیقا باید چطور استفاده کنم؟؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

[shcode=java]public void onBackPressed() { // TODO Auto-generated method stub

  

}

[/shcode]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری