Fragment的页面数据只执行一次,动态set页面某字段,当tab页面切换时,页面未刷新。
为解决此问题,使用setUserVisibleHint()监听页面;
当fragment被用户可见时,isVisibleToUser为true值;当fragment不被用户可见时,isVisibleToUser为false值。
在页面可见时可写相关逻辑,实现页面刷新;
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
//页面可见时相关逻辑
} else {
//页面不可见时相关逻辑
}
}
setUserVisibleHint() 在 上图所示fragment所有生命周期之前,经测试,setUserVisibleHint() 已解决fragment页面数据加载的问题。
网友评论