我在我的应用程序中使用了framgents,并且我在平板电脑上有横向(左和右)和纵向(向上和向下)的双窗格布局。
我有一个活动,它将片段加载到左选择窗格中,然后您可以在某个Spinner中选择几个条件来进行搜索。在右侧片段中显示了ListView中的搜索结果。
如果我在Manifest.xml中的此活动中使用android:configChanges="orientation"
,则会保存搜索结果,但我在横向模式下上下都有窗格布局,而不是左右两侧,因为它应该是。
如果我不使用android:configChanges="orientation"
我有两个窗格布局顺序正确(在lanscape模式下左右)但我没有搜索结果,活动重新启动。
我怎么解决?有什么想法吗?
非常感谢。
答案 0 :(得分:0)
你应该使用onSaveInstanceState()和onRestoreInstanceState()
您需要重新创建视图才能使布局看起来正确,但在重新创建时数据将会丢失。您必须使用我提到的方法或使用共享首选项保存此数据(用于保存应用程序退出后持续的更长时间的数据)。
不要使用android:configChanges =" orientation"。这可以防止重新创建布局,并希望您自己处理它。
有关详细信息,请参阅文档: http://developer.android.com/training/basics/activity-lifecycle/recreating.html http://developer.android.com/reference/android/content/SharedPreferences.html