如何使用pagertabstrip更新视图寻呼机中的片段视图?

时间:2015-03-20 09:36:52

标签: android android-fragments android-viewpager

我想分享这些知识。我认为这个问题出在不同的地方,但我想以清晰的方式回答。我想刷新视图寻呼机内部的片段(文本视图,按钮等)的视图。怎么样?

1 个答案:

答案 0 :(得分:1)

有不同的近似值,其中最有效的是:

1)将自定义适配器类的扩展名更改为FragmentStatePagerAdapter"。

2)在视图寻呼机的setOnPageChangeListener中,在onPageSelected方法中,执行:

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

其中position是要刷新其视图的片段的位置,而适配器是先前定义的适配器。

3)在自定义视图中,pager类覆盖此方法:

@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)这就是全部。请享用。希望这可以提供帮助。