Android开发中横竖屏切换时重新加载的问题解决方案

解决方法如下:

在manifest中,设置该Activity的configChanges为:

android:configChanges="screenSize|keyboardHidden|orientation"

样当横竖屏切换时,Activity的状态也不会改变了。


Android中横竖屏切换加载不同布局导致fragment数据丢失的问题

03-06

[img=http://img.bbs.csdn.net/upload/201503/06/1425611488_195612.jpg][/img]rn亲们好,求助大神,改了好长时间也没搞定这个问题,图上的四幅图依次为竖屏切横屏,再次切竖屏,再切横屏的效果,当再次切换竖屏的时候数据就没有显示了。我设置了android:configChanges="screenSize|orientation|keyboardHidden",所以在横竖切换的时候只会执行rn @Overridern public void onConfigurationChanged(Configuration newConfig) rn super.onConfigurationChanged(newConfig);rnrn if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) rn //横屏rn setContentView(R.layout.layout_rankingstatistics_land);rn initDefineLand();rn addListenerLand();rn rn rn else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) rn //竖屏rn setContentView(R.layout.layout_rankingstatistics);rn initDefine();rn initOperation();rnrn rn rn竖屏的总布局是一个viewpager上加载了4个fragment,而横屏是2个viewpager上各加载2个fragment!加载fragment是在主的activity中执行的,数据加载都是在fragment中执行,我知道有些人要说设置这个activity让他横竖屏切换的时候重新执行生命周期,这个行不通,因为我们这个框架特殊。rn在每次重新初始化布局的时候我都有去重新new Fragment!我把生命周期打印出来的时候,只是在第一次切换的时候执行了fragment的生命周期,后面都不会执行了,然后我用广播通知到fragment去重新用adapter加载数据,走debug的时候,数据什么都有,但是就是不显示出来!实在是搞不定啊,求大神帮我指点迷津。由衷感谢了!

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试