سوال موقع خروج کاربر از اکتیویتی متد ()onBackPressed
خروج از اکتیویتی متد onBackPressed
متد ()onBackPressed ، در این پست از سایت خانه اندروید قصد داریم متدی را به شما معرفی کنیم که کاربرد بسیار زیادی در پروژه های اندرویدی ما دارد از این متد بیشتر برای جلوگیری از خروج از اکتیویتی استفاده می شود بدین ترتیب که شما فرض کنید اپلیکیشن یا بازی را طراحی کردید و کاربر یکباره با لمس دکمه back گوشی خود از اپلیکیشن ما خارج می شود یا اینکه تغییراتی در اکتیویتی که کاربر در آن هست داده شده و پس از برخورد انگشت از برنامه خارج می شود پس اینجاست که باید چاره بیندیشم . پس اینجاست که از متد ()onBackPressed استفاده می کنیم و از اون سوالی می پرسیم که این سوال قبلا آموزش داده شده است همان پیغامی که به اسم AlertDialog.Builder شناخته می شود.
پیشنهاد ویژه برای هرچه بهتر یادگیری این آموزش لطفا فیلم آموزشی زیر را ببنید :
آلرت دیالوگ AleartDialog اندروید استودیو
آموزش استفاده از متد ()onBackPressed:
همان طور در بالا معرفی شد این متد هنگام فشرده شدن دکمه back گوشی فراخوانی می شود پس ما کاری که قرار انجام بدیم پیغامی (مسج باکست) هست که در موقع فشرده شدن دکمه بک باید فراخوانی کنیم تا کاربر انتخاب کند آیا قصد خروج دارد یا خیر ؟ اگر اون روی بلی کلیک کند از اکتیویتی (اپلیکیشن و بازی ) خارج می شود.در غیر این صورت اگر روی خیر کلیک کند در جایی هست که باقی می ماند.
نحوه کد نویسی متد ()onBackPressed:
تنها کاری که قرار است ما انجام دهیم نوشتن تابعی است که قرار است پس از فشرده شدن دکمه بک گوشی فراخوانی شود:پس سورس کد زیر را تایپ و یا کپی کنید در اکتیویتی که می خواهد هنگام فشردن دکمه بک فراخوانی شود :
public void mesg_box_exit()
{
AlertDialog.Builder Alert_close = new AlertDialog.Builder(Main2Activity.this);
Alert_close.setTitle("هشدار")
.setMessage("آیا قصد خروج دارید؟")
.setPositiveButton("بله", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
})
.setNegativeButton("خیر", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
})
.show();
}
}
پس از کپی و یا نوشتن سورس کد بالا نوبت به فراخوانی تابع زیر است:
()public void mesg_box_exit
سپس باید متد ()onBackPressed فراخوانی کنیم برای این کار Ctrl+O را از صفحه کلیک فشار دهید سپس متد ()onBackPressed را انتخاب کنید وسپس دستورات داخل براکت {} باز بسته رو بنویسید و یا اینکه سورس کد زیر را کپی کنید:
@Override
public void onBackPressed() {
mesg_box_exit();
return;
}
موفق باشید.
خانه اندروید
ممنون واقعا کاربردی بود
سلام و احترام
لطفا دارین مهدی عزیز