我有ViewPager,它有多个片段。每个片段都有一个Chrnometer,它在Page / Fragment Activity上显示时间。
在这个问题上胜任。感谢您对此问题的任何帮助。以下是代码段
public void onPause() {
super.onPause();
timeWhenStopped = chronometer.getBase() - SystemClock.elapsedRealtime();
chronometer.stop();
}
public void onResume() {
super.onResume();
chronometer.setBase(SystemClock.elapsedRealtime() + timeWhenStopped);
chronometer.start();
}
答案 0 :(得分:0)
您正在查看片段和片段的生命周期(onAttach,onPause ...)
要解决问题,您还需要了解ViewPager< - > FragmentStatePagerAdapter, 以及ViewPager如何在UI上的滑动事件上委托UI更改。
专注于ViewPager中的“监听器”,并将对StopChronometer的调用插入到pagechangeListener的实现中。
未通过swipedPage ...
在委派的事件处理程序中调用OnPause但是,如果您了解这3个类的协作,并且可能会查看使用这些类的某些github示例或查看其中一个ADT示例ViewPager应用程序,那么您应该可以将它们连接起来以便您可以插入将计时器代码放入调用链中由页面滑动产生的正确位置。