رفتن به مطلب

کتابخانه FragmentBack


Gray Mind

ارسال‌های توصیه شده

با سلام دوستان: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:

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

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...