رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

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


پست های پیشنهاد شده

سلام

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

لطفا کمک کنید

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

توسط دستور

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

{

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

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

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

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

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

 } ()public void onBackPressed 

;()finish

{

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

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

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

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 2 ماه بعد...

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

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

www.56k.ir

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

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...