如何在ViewPager和FragmentPagerAdapter中正确跟踪?

时间:2016-11-23 08:20:56

标签: android android-fragments

我有两个片段(在这个问题中称为A和B),我将它们放在ViewPager中 我需要跟踪每个片段出现时的日志记录。

例如A和B放在ViewPager上。 A位于左侧,B位于右侧。

要求如下。

在ViewPager上:

  • 当用户首次打开ViewPager时跟踪A,因为A首先出现。

  • 当A上的用户向左滑动ViewPager时跟踪B,因为B出现了。

  • 当B上的用户向右滑动ViewPager时,跟踪A,因为A出现了。

关于更改应用

  • 当A上的用户打开其他应用并返回此片段时跟踪A.
  • 当B上的用户打开其他应用并返回此片段时跟踪B.

片段交易:

  • 跟踪A当A上的用户转到其他片段或活动并返回此片段时。
  • 当B上的用户转到其他片段或活动并返回此片段时跟踪B.

关于混合情况:

  • 跟踪A当A上的用户转到其他片段或活动,然后更改应用程序然后返回此应用程序并返回到A片段。
  • 跟踪B当B上的用户转到其他framgnet或活动,然后更改应用程序然后返回此应用程序并返回到B片段。

在“不要保持活动”模式和“保持活动”模式下,我想跟踪我指定的内容。

2 个答案:

答案 0 :(得分:0)

你应该覆盖片段中的setUserVisibleHint方法,它会告诉你用户何时关注特定片段

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
   if (isVisibleToUser && isResumed()) {

   }
}

答案 1 :(得分:0)

您可以使用viewPager.addOnPageChangeListener获取寻呼机的当前页面。

希望这会有所帮助。