PDA

View Full Version : کنترل کردن دکمه back بر روی گوشی ها یا تبلت ها



sina4everafter
چهارشنبه 31 اردیبهشت 1393, 15:25 عصر
سلام.دوستان اگر امکانش هست من و راهنمایی کنید.ممنون.

من یه منو برای یه برنامه ای ساختم و اسم یکی از آیتم هاش: خروج(ه).که وقتی کاربر روی اون دکمه کلیک می کنه از کاربر سوال می پرسه که آیا می خواین خارج بشین یا نه!؟
ولی اگه کاربر روی دکمه back که روی خوده گوشی ها و تبلت ها وجود داره، کلیک کنه، دیگه سوالی پرسیده نمیشه و و از برنامه خارج میشه.
می خواستم بدونم که چطور میشه کاری کرد که در هر صورت از کاربر پرسیده بشه که قصد خارج شدن داره یا نه.

ممنون میشم اگر راهنماییم کنید.

poorman
چهارشنبه 31 اردیبهشت 1393, 15:35 عصر
سلام

شما با این کد دکمه بک گوشی رو کنترل کنید، در اینجا من گفتم اگر دکمه بک رو زد کاربر، دکمه exit که خودم طراحی کردم فشرده بشه و کدش اجرا بشه

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

@Override public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
exit.performClick();
return true;
} else {
return super.onKeyDown(keyCode, event);
}
}

sina4everafter
یک شنبه 04 خرداد 1393, 11:07 صبح
سلام.ممنون از راهنماییتون.
میشه راهنمایی کنید این کد ها رو دقیقا باید کجا بنویسم؟
من چند بار امتحان کردم ولی از کد ها ایراد میگیره.
ممنون.

SASAN_AH
یک شنبه 04 خرداد 1393, 11:25 صبح
سلام.ممنون از راهنماییتون.
میشه راهنمایی کنید این کد ها رو دقیقا باید کجا بنویسم؟
من چند بار امتحان کردم ولی از کد ها ایراد میگیره.
ممنون.



شما از منوی Source->override/implements Methiods

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

برای دکمه برگشت معمولا از onBackPressed() استفاده میشه

poorman
یک شنبه 04 خرداد 1393, 20:42 عصر
این کدها رو توی کلاس اکتیویتی تون هرجا کپی کنید درسته !!!

چه خطایی میده مگه ؟

badname
یک شنبه 04 خرداد 1393, 22:22 عصر
متد زیر هم شاید به کارتون بیاد فقط قبل از onCreate استفاده ش کن


@Override
public void onBackPressed() {
// کاری که میخوای انجام بده...
}