2012-07-31 82 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

相關問題