![](/img/trans.png)
[英]How to save UI state observed in ViewModel when rotating device?
[英]Save password toggle state when rotating phone
我对 android 完全陌生,我的第一个任务应该很简单,所以任务是我应该在密码输入字段中添加一个密码切换,以便在按下时可以显示/隐藏它,这很容易我只在 TextInputLayout 中添加了这一行并且它起作用了:
app:passwordToggleEnabled="true"
现在的问题是,当我旋转手机时,我丢失了开关的 state,所以如果我显示密码并且默认旋转手机,它会隐藏文本,我正在阅读有关Bundle savedInstanceState
但我无法引用从 java class 内部切换默认密码
您应该使用savedInstanceState
作为最佳实践。 但是您也可以将configChanges
设置为您的活动。 旋转时您的活动不会重新创建。
android:configChanges="orientation|screenLayout|screenSize|navigation"
您还可以在活动中处理屏幕旋转事件。
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
int orientation = newConfig.orientation;
if (orientation == Configuration.ORIENTATION_PORTRAIT) {
// portrait
} else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
// landscape
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.