اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

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


Gray Mind

کتابخانه FragmentBack

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

با سلام دوستان:hi:

اگه شما هم جزو کسایی باشید که از فرگمنت ها زیاد استفاده میکنن حتما شده که بخواید توی فرگمنت از رویداد onBackPressed استفاده کنید

ولی چون همچین متدی توی فرگمنت وجود نداره نمیتونید همچین کاری رو انجام بدید البته راه هایی هست ولی پیچیده هست و حوصله میخواد

یه کتابخانه پیدا کرده بودم چند وقت قبل گفتم اینجا هم بذارم که دوستان استفاده کنن

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

 

لینک گیت ها :

https://github.com/skoumalcz/fragment-back

 

کد دپندنسی گریدل :

compile 'net.skoumal.fragmentback:fragment-back:0.2.3'

 

خوب بعد از اضافه کردن کد بالا به گریدل و سینک شدنش میاید و توی اکتیویتی که فرگمنت توش نشون داده میشه در رویداد onBackPressed این کد رو بذارید

if(!BackFragmentHelper.fireOnBackPressedEvent(this)) {
      // lets do the default back action if fragments don't consume it
      super.onBackPressed();
}

با اضافه کردن کد بالا میگیم که اگه onBackPressed توی فرگمنت صدا زده نشده باشه کدارو اجرا کن

خوب حالا بخش اصلی کار رو باید انجام بدیم و اونم اینه که فرگمنت رو ایمپلمنت کنیم به شکل زیر
 

//قبل
public class MyFragment extends Fragment {

}
//بعد

public class MyFragment extends Fragment implements BackFragment {

}

خوب حالا باید این دوتا رویداد رو به کدای فرگمنت اضافه کنید 

public boolean onBackPressed() {
		// وقتی توی فرگمنت کلید بک رو میزنید کدایی که اینجا نوشتین اجرا میشه
        return false;
    }

    public int getBackPriority() {
        // use apropriate priority here
        return 0;
    }

یه چیز دیگه هم که باید خدمتتون بگم اینه که در رویداد onBackPressed که بالا به فرگمنت اضافه کردیم یه مقدار برگشتی داریم به نوع boolean

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

اما اگر مقدارش رو true بذارید بدون بسته شدن اکتیویتی حال حاضر کارشو انجام میده(مثلا برای برگشت از یه فرگمنت به فرگمنت دیگه توی یه اکتیویتی به کار میره)

 

خوب حالا اگه از پروژه تون ران بگیرید و شاهد کار این کتابخانه ی فوق العاده باشید :DD:

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


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

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

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

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

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

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

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

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

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