切换白天黑夜会调用onConfigurationChanged,然后需要重新刷新布局才能生效
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
int currentItem = mViewPager.getCurrentItem();
init();
initView();
selectPage(currentItem);
}
问题是切换之后fragment布局消失了
原因是因为fragment没有重走生命周期去刷新布局
再往上发现是切换fragment的viewpager导致的fragment不重走什么周期
如何解决:使用FragmentStatePagerAdapter而不是FragmentPagerAdapter
如何让viewpager切换fragment时重走生命周期
要让ViewPager切换Fragment时重走生命周期,你可以使用FragmentStatePagerAdapter
而不是FragmentPagerAdapter。FragmentStatePagerAdapter在Fragment不在屏幕上时会销毁
(保存状态),当用户回到该Fragment时会重新创建。
以下是一个简单的例子:
public class MyViewPagerAdapter extends FragmentStatePagerAdapter {
private List<Fragment> fragments;
public MyV