【发布时间】:2017-05-09 11:39:52
【问题描述】:
所以我正在使用 Visual Studio 编写一个 Android 应用程序。我想要一个具有纵向和横向方向的 Activity。当我转动我的设备时,我的 Activity 中的数据消失了。所以我在网上查了一下,发现有一条线可以放入保存数据的清单中,这很有效! android:configChanges="方向|keyboardHidden|screenSize" 除了我所有的观点都是混乱和取代的。我使用了两种不同的布局。一个用于纵向视图,另一个用于景观。我想保持数据端切换布局,有什么想法吗? 谢谢
【问题讨论】:
-
了解活动生命周期。对于您的需求,onSaveInstantState 很重要....developer.android.com/guide/components/activities/…
-
不要使用
configChanges这是处理方向变化的一种非常糟糕的方式。基本上你必须在每一个上使用一个 id,这样它的状态就可以自动保存。如果变量中有数据,可以将它们保存在onSaveInstanteState中,将它们放入捆绑包中,并在 Activity 重新启动时将它们恢复到onCreate中。片段可以通过setRetainInstante(true)保持状态您可以阅读更多相关信息:Android Developpers, Codepath -
哇!!我很快就被否决了:O。好的,使用这个库很容易github.com/frankiesardo/icepick
标签: java android layout landscape portrait