Fragment自身真正的OnResume()方法

近来碰到一个问题,我项目的主界面是一个activity,底部导航菜单通过tabhost+fragment来实现切换;当每次切换到第一个fragment的时候我想发送一个请求,当时我的第一反应是在OnResume()里来做这个事情(其实之前fragment用的很少,几乎没用,只是稍微了解一点),结果问题来了,我切换几个tab的时候,都不会执行OnResume方法,后来想起来是因为fragment的生命周期依附于主activity,虽然几个fragment在切换,但是主activity一直是处在可见状态。于是我就想找找看fragment有没有自身的OnResume方法,结果有一个方法是 setUserVisibleHint(),但是不知道为什么我写了这个方法从来就没有被调用过(我是直接就写在fragment里,断点和打印日志都试过,就是没执行)。可能到了这里感觉像是走进了死胡同,我调整了一下解决问题的切入口,在activity里切换fragment的时候去获取fragment的实例,然后调里面的方法,问题引刃而解,当然在切换的时候用eventbus发送一个通知,fragment接收到后进行方法的调用也行,但是感觉没有获取fragment实例好。总之大家如果想在fragment可见时处理一些事情,并不一定非得有个和activity一样的OnResume方法,换个角度解决可能更好,当然如果大家有更好的解决办法,欢迎提出,一起探讨~

你可能感兴趣的:(Android随笔)