0

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

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

    @Override
    public void onPageSelected(int page) {
      this.currentPage = page;
      tabsAdapter.getItem(page);
    }

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

4

2 回答 2

1

这个怎么样:

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

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

于 2012-07-31T14:04:03.097 回答
1

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

所以你的想法是正确的。

于 2013-02-13T08:06:36.390 回答