屏幕旋转后,Android编辑文本不会更改

时间:2019-03-27 15:33:05

标签: android android-jetpack

我最近开始使用Android,并且一直在尝试使用新的Andorid Jetpack Architecture方法来制作我的应用。具体来说,我看到他们通常使用ViewModel来存储UI数据,这样,当发生屏幕旋转之类的事情时,数据就不会丢失。我有一个简单的登录屏幕,其中有两个“编辑文本”字段,当我在其中输入内容时,旋转屏幕,数据保持不变。如此大胆的问题是:

  • 为什么我不会从“编辑文本”的数据中丢失数据?

  • 何时应使用此ViewModel东西。人们是在简单的情况下使用它的吗,例如基本登录屏幕(其中您只有两个字符串),还是仅用于较大的活动?

  • 对于这些LifeCycle观察者,我也有同样的问题。我知道它们是如何工作的,但是我应该在上面提到的那种简单情况下使用它们,还是最好在更复杂的情况下使用这些东西,因为我真的不知道如何为基本的登录屏幕做些什么除了OnCreate()中的基本内容之外?

1 个答案:

答案 0 :(得分:2)

检查该图像以了解ViewModel的生命周期以及为什么EditText数据不会丢失。

ViewModel Lifecycle

您应该了解MVVM模式(模型视图Viewmodel),以了解如何使用ViewModel。看看这个CodeLabs from Google

MVVM pattern