问题的起因是这样,的笔者有个自定义View,实现的是一个APP首页的底部选择器,通过简单的配置就可以快速实现fragment的切换,优点是添加和移除item非常便捷并且插拔式的设计,帮助新手们快速上手。
传送门:BottomSelectView
不过很遗憾,在几个项目的考验中,发现了一个重大BUG。即标题,Activity重新刷新后Fragment的show、hide失效问题。笔者这里的Activity重新刷新指的是系统崩溃,和横竖屏切换的时候。Activity回重新onCreate导致,选择器绑定的fangment因为onSaveInstanceState存储重新创建前的状态,导致没能正确绑定新的fragment。最终使BottomSelectView的按钮无法正确的切换Fragment。
override fun onSaveInstanceState(outState: Bundle?) {
// super.onSaveInstanceState(outState)
}
既然因为onSavaInstanceState导致Fragment的保留,那么我们重写该方法,禁止他做状态存储就可以了