Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中ViewPgae中的Fragment如何確認當前頁面可見的問題

Android中ViewPgae中的Fragment如何確認當前頁面可見的問題

編輯:關於Android編程

由於在ViewPage中PageAdapter來管理所有的Fragment。在加載一個Fragment的時候,會自動緩存左右幾個(默認是一個)頁面,此時也會調用到正常的生命周期函數,onCreate,onCrateView,onResume.可是這樣就干擾了我們統計頁面打開次數。

例如:一個ViewPager中存在三個頁面的時候,當默認是第一個頁面,並且被打開。那麼在我們的後台就會收集到用戶打開兩個頁面的信息。這個對我們的統計就是一個很大的干擾。所以就不能再將統計代碼放在onResume中,要放在一個其他的函數內,但問題的關鍵是如何確認當前的Fragment可見?這樣我才能把統計函數移植過去。

在問這個問題的時候把焦點都放在生命周期的觸發上了。發現Fragment下專門有一個setUserVisibleHint函數來處理這個事情:

  1. public void setUserVisibleHint(boolean isVisibleToUser) {
  2. // TODO Auto-generated method stub
  3. super.setUserVisibleHint(isVisibleToUser);
  4. if (isVisibleToUser == true) {
  5. }
  6. else if (isVisibleToUser == false) {
  7. }
  8. }

這樣我把統計代碼放置在當isVisibleToUser是可見的時候判斷分支中,應該可以解決我的問題了。


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved