项目用到Fragment管理不同的列表信息,在切换Fragment的时候需要重新刷新数据,然而使用show()和hide()切换Fragment的时候,Fragment并不会执行onResume()和onPause()的生命周期方法,而是执行了onHiddenChanged()方法。
onHideentChanged方法的源码:
@Override
public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
if (hidden) { // 不在最前端显示 相当于调用了onPause();
}else{ // 在最前端显示 相当于调用了onResume();
}
}
需要注意,Fragment中调用findViewById()需要使用onCreateView()中获取的到的View而不能用getActivity()
本文介绍在Android应用中如何正确地处理Fragment数据刷新的问题。当使用show()和hide()方法切换Fragment时,通常不会触发onResume()和onPause()生命周期回调,而是会调用onHiddenChanged()方法。文中详细解释了这一机制,并提供了实现数据刷新的有效途径。
4556

被折叠的 条评论
为什么被折叠?



