بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

خروج از برنامه در فرگمنت .

مدیریت گفتگو
علی 11 سال پیش
آخرین تغییر: 11 سال پیش

این کد در اکتیویتی وقتی دکمه بک رو میزنیم دیالوگ باز میشه برای خروج از برنامه.

در اکتیویتی به جای getActivity مثلا MainActivity.this بوده. حالا چرا در فرگمنت کار نمیکنه؟ کلا میره تو یه صفحه ی سفید.

 
public class ExitFragment extends Fragment {
	
   public ExitFragment(){}
	

	@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
	
        View rootView = inflater.inflate(R.layout.content_frame, container, false);

        return rootView;

}
	
	 public void onBackPressed() {
		   //نمایش الرت دیالئگ هنگام کلیک بروی دکمه بک موبایل
		   backButtonHandler();
		   return;
		   }

		   public void backButtonHandler() {
		   AlertDialog.Builder alertDialog = new AlertDialog.Builder(
				   getActivity());
		   // ایجاد عنوان برای دیالوگ
		   alertDialog.setTitle("خروج از برنامه");
		   // ایجاد یک پیام جهت نمایش به کاربر
		   alertDialog.setMessage("آیا مایل به خروج از برنامه هستید؟");

		   // ایجاد یک دکمه با عملکرد مثبت برای نمایش بله و خروج از برنامه
		   alertDialog.setPositiveButton("بلی",
		   new DialogInterface.OnClickListener() {
		   public void onClick(DialogInterface dialog, int which) {
		   getActivity().finish();
		   }
		   });
		   // ایجاد یک دکمه با عملکرد منفی برای نمایش خیر و ماندن در برنامه
		   alertDialog.setNegativeButton("خیر",
		   new DialogInterface.OnClickListener() {
		   public void onClick(DialogInterface dialog, int which) {

		   dialog.cancel();
		   }
		   });
		   // نماایش الرت دیالوگ
		   alertDialog.show();
		   }

}
 

نظرات

علی 11 سال پیش
کسی نمیدونه چطور باید درست کرد این تیکه از کد رو؟
Spirit 11 سال پیش
متد onBackPressed مروبط به Activity هست، اگر دقت کنی تو کدی که نوشتین Override@ هم وجود نداره. پس انتظار اجرا این متد رو نداشته باشین. برای اطلاعات بیشتر میتونید fragment onbackpressed رو جستجو کنید.

پاسخ‌ها 1

CodeMaster 11 سال پیش

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

 System.exit(0);

نظرات

علی 11 سال پیش
این بدون سوال میزنه بیرون مستر جان. می خوام ازش سوال کنه. اصلا وقتی کلیک می کنم دیالوگ باز نمیشه.
CodeMaster 11 سال پیش
تا اونجایی که یادمه alerDialog رو باید اول Build کنید و بعد Show یعنی alertDialog.build.show
علی 11 سال پیش
نه نمیشناسه کلا. جور دیگه نمیشه این کار رو انجام داد؟

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