انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رفرش تب در تب لیوت یا فرگمنت

رفرش تب در تب لیوت یا فرگمنت

#3
سلام 

من کاملا متوجه مشکلت نشدم ولی چیزی که به نظرم میتونه مشکلت رو حل کنه رو میگم

میتونی از اینترفیس ها بین اکتیویتی و فرگمنت استفاده کنی تا بتونی از فرگمنت با اکتیویتی ارتباط برقرار کنی و متدی رو که میخوای در اکتیویتی اجرا کنی
این کد رو ببین:
ساخت اینترفیس(من تو یه فایل به اسم  Interfaces این رو ساختم):
کد:
interface OnFragmentJobChangedListener{
       void OnChange(boolean b);

   }
بعدش در اکتیویتی اون رو پیاده سازی میکنیم:
کد:
public class MainActivity extends AppCompatActivity implements Interfaces.OnFragmentJobChangedListener
بعدش توی فرگمنت ، یه نمونه از اون ایترفیس که قبلا ساختیم(کدش هم اینحا برات اورده بودم) رو میسازیم:
کد:
public class xFragment extends Fragment {


   /** my custom listener */

   private Interfaces.OnFragmentJobChangedListener mOnFragmentJobChangedListener;


و در اخر باید توی فرگمنت؛ اکتیویتی خودمون رو به اینترفیس تبدیل کنیم ( یا به اصطلاح کَست کنیم):
کد:
@Override
   public void onAttach(Activity activity) {
       super.onAttach(activity);
       try {
           mOnFragmentJobChangedListener = (Interfaces.OnFragmentJobChangedListener) activity;
       } catch (ClassCastException e) {
           e.printStackTrace();
       }
   }

حالا میتونیم هرجای فرگمنت این کد رو اجرا کنیم و بعدش همانطور که اینترفیس در اکتیویتی پیاده سازی شده بود؛ متد در اکتیویتی فراخوانده میشود
کد:
                       mOnFragmentJobChangedListener.OnChange(true);

نمیدونم برات مفید بود یا نه Big Grin

اگه مشکلت رو واضح تر بگی شاید بتونم کمکت کنم
و راستی از OnActivityResult  که حتما استفاده کردی؟ اگه نه بگو برات توضیح بدم، فکر بهتر بود این رو توضیح میدادم تا اینترفیس رو book
پاسخ


پیام‌های این موضوع
رفرش تب در تب لیوت یا فرگمنت - توسط mahan - ۱۳۹۸/۰۲/۱۶, ۱۰:۰۲ ق.ظ
RE: رفرش تب در تب لیوت یا فرگمنت - توسط mahan - ۱۳۹۸/۰۲/۲۰, ۰۷:۰۸ ب.ظ
RE: رفرش تب در تب لیوت یا فرگمنت - توسط ail603601 - ۱۳۹۸/۰۲/۲۷, ۰۴:۵۲ ب.ظ
RE: رفرش تب در تب لیوت یا فرگمنت - توسط e.mahi - ۱۳۹۸/۰۶/۰۹, ۱۱:۳۲ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان