【发布时间】:2019-04-06 20:38:04
【问题描述】:
我设计了一个仅以纵向模式显示的 Android 应用 (android:screenOrientation="sensorPortrait")。它工作正常,除了一种情况:
- 以纵向模式握住平板电脑并启动应用程序
- 输入一些数据
- 关闭平板电脑
- 将平板电脑旋转到横向模式
- 打开平板电脑
==> 我的应用程序的第一个“帧”以横向模式显示,然后旋转到纵向模式,这意味着 onDestroy() 被调用,因此我输入的数据丢失了。
平板电脑是 Tab S2 8",搭载 Android 7.0
为什么我的应用首先以横向模式显示? 有没有办法避免这种行为(我不想仅仅因为这种情况而避免管理 onSaveInstanceState()/onRestoreInstanceState())?
【问题讨论】:
-
除了方向之外,还有许多其他配置更改。请使用
ViewModel、onSaveInstanceState()或其他方式在配置更改时保留您的数据。 -
即使这条评论没有直接回答我的问题,这实际上是正确的答案。我对 Android 开发很陌生,并且不了解 ViewModel。我必须实施它,现在它工作正常。谢谢