2012-07-31 83 views
0

我正在使用插入到FragmentStatePagerAdapter的ViewPager。每个片段都包含一个列表视图。在此列表视图中,我希望展示广告并拨打分析服务器。我只想在用户导航到片段时进行这些调用(所以我不能在片段中使用onCreateView或onActivityCreated事件)。有没有一件事情我可以为此目的?ViewPager + FragmentStatePagerAdapter:需要知道何时显示片段(选中)

更新 我意识到,我取回我的当前片段的方法是在寻呼机flawe

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

getItem(int position)为instanciating片段实际负责,因此这将创建一个新的独立的片段(因此getActivity()返回null)。我想我会采用一种方法来保存片段的地图(<Position, Fragment>),当在pagerAdapter中调用destoryItem时,我将从地图中删除片段。

回答

1

如何:

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

onPageSelected(int)方法听起来就像你想要做什么。

+0

我试过这个,但是在这个事件中,如果我尝试启动我的数据任务,我需要getActivity()作为上下文,getActivity()将返回null – 2012-07-31 15:51:13

+0

如果你在问题中提到了这个需求, )。你能用一些示例代码来更新这个问题吗?我有点惊讶onPageSelected会在onAttach之前被调用(这是getActivity()应该停止返回null) – lyricsboy 2012-07-31 17:18:42

相关问题