簡體   English   中英

如何使用pagertabstrip更新視圖分頁器中的片段視圖?

[英]How to update a fragment view in a view pager with a pagertabstrip?

我想分享這些知識。 我認為這個問題在不同的地方,但我想清楚地回答。 我想刷新視圖分頁器內的片段視圖(文本視圖,按鈕等)。 怎么樣?

有不同的近似值,最有效的近似值之一是:

1)將自定義適配器類的擴展更改為FragmentStatePagerAdapter”。

2)在您的視圖分頁器的setOnPageChangeListener中,在onPageSelected方法中,執行以下操作:

if (position == 0) {
    adapter.notifyDataSetChanged();
}

其中position是您要刷新其視圖的片段的位置,而adapter是先前定義的適配器。

3)在您的自定義視圖尋呼機類中重寫此方法:

@Override
public int getItemPosition(Object object) {
    if (object instanceof UpdateableFragment) {
        ((UpdateableFragment) object).update();
    }
    //don't return POSITION_NONE, avoid fragment recreation.
    return super.getItemPosition(object);    
}

4)在要刷新的片段中實現UpdateableFragment(示例中的位置0):

public class HomeFragment extends Fragment implements UpdateableFragment {

並將此方法添加到UpdateableFragment實現中:

@Override
public void update() {
    // Do your update code here
}

5)就這樣。 請享用。 希望這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM