Android 刷新viewpager的中间片段

Android 刷新viewpager的中间片段,android,android-fragments,android-viewpager,adapter,fragmentstatepageradapter,Android,Android Fragments,Android Viewpager,Adapter,Fragmentstatepageradapter,我在viewpager中有3个片段,它是从FragmentStatePagerAdapter实现的 我只想刷新中间片段,因为我有一个动画监听器。因此,我尝试了以下代码: @Override public int getItemPosition(Object object) { if (object instanceof MiddleFragment){ return POSITION_NONE; }else { return POSITION_UN

我在viewpager中有3个片段,它是从
FragmentStatePagerAdapter
实现的

我只想刷新中间片段,因为我有一个动画监听器。因此,我尝试了以下代码:

@Override
public int getItemPosition(Object object) {
    if (object instanceof MiddleFragment){
        return POSITION_NONE;
    }else {
        return POSITION_UNCHANGED;
    }
但对我不起作用,因为默认值是1,我看不到中间片段的任何刷新。我不知道该怎么做。



请事先指导我,谢谢。

维护要添加到viewpager中的片段的数组列表。 然后可以从arrayList中检索片段并执行更新。 看看它是否有效

编辑1:我正在为此添加一个示例

  ArrayList<Fragments> arrayList = new ArrayList<Fragment>();

当您愿意更新第二个片段时,您可以通过给定位置从arraylist中检索该片段,并在其中执行任何更新。

您可以通过以下两种方式之一刷新片段

1。使用
refresh()
方法

protected PopulareFragment populareFragment;

if(current_tab.contains("Middle Fragment")){
    populareFragment.refresh();
}

2.或只需添加
mTabHost.setCurrentTab(2)进入回调。

tnx用于回复,但这是什么意思?你能提供一些例子吗?tnx的答复,我没有看到任何方法,如
refresh
,我有任何标签。我从
Updateable
接口实现了中间片段,但我的问题是:第一次调用后的中间片段再也没有被调用过。
protected PopulareFragment populareFragment;

if(current_tab.contains("Middle Fragment")){
    populareFragment.refresh();
}