【问题标题】:Android TextView as Password broke on LollipopAndroid TextView 作为密码在 Lollipop 上被破坏
【发布时间】:2014-12-03 00:44:53
【问题描述】:

我们使用以下代码更改 TextView 以隐藏密码输入框的文本。在 Android Lollipop 上,这会导致输入框变为不可编辑,尽管它可以被选中。

if (isPassword) {
    setTransformationMethod(PasswordTransformationMethod.getInstance());
    setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
}

如何解决此问题,使其通过 Lollipop 在 Android 2.3.5 上运行?

【问题讨论】:

    标签: android textview passwords android-5.0-lollipop


    【解决方案1】:

    我遇到了同样的问题,并通过删除 setInputType 来修复它。但是,这可以允许仍然显示文本建议,如 cmets 中所述。通过将 setInputType 更改为 setRawInputType ,它似乎可以在 Android 5.0 Lollipop 上运行以及禁止文本建议。

    setTransformationMethod(PasswordTransformationMethod.getInstance());
    setRawInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_PASSWORD);
    

    我认为这有点杂乱无章,因为 setTransformationMethod 似乎除了在少数几个版本的 android 上之外,它可以自己处理事情。

    【讨论】:

    • 这似乎有效,除了在配备 Android 4.4.2 的三星平板电脑上,它会显示预测建议,这意味着整个密码以纯文本形式显示在键盘上。
    • 我更新了答案以包括使用 setRawInputType 似乎可以抑制文本建议,而不会将内容锁定在 Android 5.0 Lollipop 上。
    猜你喜欢
    • 1970-01-01
    • 2014-11-25
    • 2015-03-19
    • 1970-01-01
    • 2016-11-03
    • 2021-10-24
    • 2013-01-12
    • 2018-08-28
    • 1970-01-01
    相关资源
    最近更新 更多