Android ViewPager Fragments滑動只重新整理當前頁

fondtiger發表於2021-09-09

有時候我們使用ViewPager中巢狀Fragment,來實現滑動跳轉介面。可是在ViewPager中如果使用FragmentStatePagerAdapter介面卡,在滑動到某個頁面後,當前頁面是之前快取好的,也就是說從伺服器獲取的資料並不是最新的,而且左右滑動ViewPager每一個pager,當前的Fragment並沒有走任何生命週期,所以如果想從第一個pager滑動到第二個pager後,第二個pager的內容進行重新整理,那麼就需要用一下方法實現。

1、首先定義一個介面:

public static interface FragmentState{

    void fragmentVisible();}

2、在需要被滑動到當前重新整理的Fragment實現該介面

public class MyFragment extends Fragment implements FragmentState {
    ...

    @override
    public void fragmentVisible() {
         //do specific stuff
         resetDataOrWhatever();
    }}

3、在ViewPager中的滑動監聽中呼叫實現的方法即可

mViewPager.setOnPageChangeListener(new OnPageChangeListener() {
    @Override
    public void onPageSelected(int position) {
        if(position == 1) {
            MyFragment fragment = mViewPager.getAdapter().getItem(1);
            // call the fragmentVisible method here
            fragment.fragmentVisible();
        }
    }
    ...});

原文連結:http://www.apkbus.com/blog-367522-59061.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2508/viewspace-2816892/,如需轉載,請註明出處,否則將追究法律責任。

相關文章