【问题标题】:EditText - setText on EditText with inputType=numberPassword doesn't show the 'set' text first before the password charEditText - 使用 inputType=numberPassword 在 EditText 上的 setText 不会在密码字符之前首先显示“设置”文本
【发布时间】:2017-05-29 23:25:13
【问题描述】:

我正在创建一个包含多个 EditText 的 PIN 对话框。我想要实现的行为是,当用户输入一个字符时,它首先被显示,然后被 EditText 的密码字符(项目符号/点)屏蔽。

我没有管理多个 EditText,而是有一个隐藏视图 (EditText) 来处理键盘输入。然后将其文本设置为用作 pin 视图的其他 EditText。但是,当我从隐藏视图设置引脚的值时,密码字符会立即设置,不再预览设置值。当我尝试将字符直接输入到 pin 视图时,行为有所不同。

如何通过当前设置实现我想要的行为?谢谢!

【问题讨论】:

    标签: android android-edittext


    【解决方案1】:

    您也可以通过仅使用一个 Editext 来实现此行为。

    在用户按键上显示当前字符 1 秒,如果输入了所有输入的字符,则显示 *。然后将所有文本替换为 *,并在 内输入文本的长度编辑文本

    基本上在 1 秒后用 * 切换可见字符,同时将真实密码保存在变量中,然后通过将 Edittext 文本替换为 variable.length 来隐藏新输入的字符。

    【讨论】:

    • 恐怕这不是我想做的。在输入 PIN 之前,我会为每个 pin 视图显示一个图像,就像一个提示一样。如果只使用一个EditText,我相信我将无法实现。
    【解决方案2】:

    我相信我想要的东西是不可能的。从我正在做的事情开始,当当前接收到一个值时,光标会移动到下一个 EditText。

    使用带有 inputType(在我的情况下)numberPassword 的 EditText,一旦从 EditText 中移除焦点或者如果它首先没有焦点,为其设置值将立即显示'密码' 字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 1970-01-01
      • 2012-03-07
      • 1970-01-01
      • 2011-11-08
      相关资源
      最近更新 更多