相信从事Android开发的时候都会遇到一种需求,就是重到某个页面的时候需要刷新下数据或者其他的业务逻辑,这个时候我们都会想到onResume,但有时候当我们在Fragment中的onResume上调用某个方法并重回到该Fragment之后,却发现onResume没有被调用,正是自己在开发上也遇到同样的问题,所以在此作出一些总结,方便日后查询
1、Activity嵌套多个Fragment作为一级界面,并在此切换过程中
这种场景很常见,因为现在国内很多app采用的交互都是底部有4到5个tab,然后点击不同的tab可以切换到不同的页面,而UI上的实现方法有多种,但最后几乎都是在MainActivity中嵌套Fragment,而且我惯用的切换方式就是先把当前的Fragment隐藏,再show出要展示的Fragment,那么这种情况下,如果只是在一级界面不断点击下面几个tab以切换各个界面的时候,由于fragment的宿主MainActivity一直都是可见状态,所以这种情况下Fragment的onResume并不会重复执行,那么这个时候我们可以在onHiddenChanged()这个方法中处理自己的逻辑