展会信息港展会大全

Android中ViewPgae中的Fragment如何确认当前页面可见的问题
来源:互联网   发布日期:2015-09-29 10:59:05   浏览:1017次  

导读:由于在ViewPage中PageAdapter来管理所有的Fragment。在加载一个Fragment的时候,会自动缓存左右几个(默认是一个)页面,此时也会调用到正常的生命周期函数,onCr...

由于在ViewPage中PageAdapter来管理所有的Fragment。在加载一个Fragment的时候,会自动缓存左右几个(默认是一个)页面,此时也会调用到正常的生命周期函数,onCreate,onCrateView,onResume.可是这样就干扰了我们统计页面打开次数。

例如:一个ViewPager中存在三个页面的时候,当默认是第一个页面,并且被打开。那么在我们的后台就会收集到用户打开两个页面的信息。这个对我们的统计就是一个很大的干扰。所以就不能再将统计代码放在onResume中,要放在一个其他的函数内,但问题的关键是如何确认当前的Fragment可见?这样我才能把统计函数移植过去。

在问这个问题的时候把焦点都放在生命周期的触发上了。发现Fragment下专门有一个setUserVisibleHint函数来处理这个事情:

public void setUserVisibleHint(boolean isVisibleToUser) {

// TODO Auto-generated method stub

super.setUserVisibleHint(isVisibleToUser);

if (isVisibleToUser == true) {

}

else if (isVisibleToUser == false) {

}

}

这样我把统计代码放置在当isVisibleToUser是可见的时候判断分支中,应该可以解决我的问题了。

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港