繁体   English   中英

旋转手机时保存密码切换 state

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM