ViewPager + FragmentStatePagerAdapter:需要知道片段何时显示(选中)

时间:2012-07-31 14:01:53

标签: android fragment fragmentpageradapter

我正在使用插入FragmentStatePagerAdapter的ViewPager。每个片段都包含一个列表视图。在此列表视图中,我希望显示广告并拨打分析服务器。我只想在用户导航到片段时进行这些调用(因此我无法在Fragment中使用onCreateView或onActivityCreated事件)。是否有一个事件可以挂钩到这个目的?

更新 我意识到我获取当前片段的方式是flawe

    @Override
    public void onPageSelected(int page) {
      this.currentPage = page;
      tabsAdapter.getItem(page);
    }
寻呼机中的

getItem(int position)实际上负责实现片段的实例化,因此它会创建一个新的未附加片段(因此getActivity()返回null)。我想我会用一种方法来保存片段的地图(<Position, Fragment>),当在pagerAdapter中调用destoryItem时,我将从地图中删除片段。

2 个答案:

答案 0 :(得分:1)

这个怎么样:

http://developer.android.com/reference/android/support/v4/view/ViewPager.OnPageChangeListener.html

onPageSelected(int)方法听起来像你想要的那样。

答案 1 :(得分:1)

你是对的,最好的选择是这里的第二个解决方案: http://tamsler.blogspot.nl/2011/11/android-viewpager-and-fragments-part-ii.html

所以你的想法是正确的。