【问题标题】:Text is not displaying as password文本未显示为密码
【发布时间】:2017-12-05 12:39:52
【问题描述】:

我有四个密码编辑文本,当我输入值时,它会自动移动到下一个编辑文本。我正在关注How to change the focus to next edit text in android?,它工作正常,但在第二个文本中输入数字后,它不会更改为密码,它显示为数字,直到我触摸 EditText 字段。 我已设置 android:inputType="numberPassword"。
但它显示的是数字,当我触摸屏幕或按下所有字段显示为密码时,它作为密码工作。
但在触摸或后按编辑文本字段之前,它始终显示数字。
我的要求是,当我输入它时,它应该将字符显示为密码而不是数字,但在按下它之前显示为数字。
请指导我。

下面给出了我的 xml 用于一个 EditText 的位置,并且有四个编辑文本。

<EditText
  android:id="@+id/cnf_pin_first_edittext"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:contentDescription="@string/pin_content_desc"
  android:inputType="numberPassword"
  android:layout_marginRight="5dp"
 android:layout_marginLeft="5dp         android:background="@drawable/text_box_underline_selector"
 android:textColor="@color/black" />

下面给出了我的三个编辑文本的代码

 final StringBuilder sbForFirstText = new StringBuilder();
    setPinFirstDigitEditText.addTextChangedListener(new TextWatcher() {
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub
            if (sbForFirstText.length() == 0 & setPinFirstDigitEditText.length() == 1) {
                sbForFirstText.append(s);
                setPinFirstDigitEditText.clearFocus();
                setPinSecondDigitEditText.requestFocus();
                setPinSecondDigitEditText.setCursorVisible(true);
            }
        }
        public void beforeTextChanged(CharSequence s, int start, int count,
                                      int after) {
            if (sbForFirstText.length() == 1) {
                sbForFirstText.deleteCharAt(0);
            }
        }
        public void afterTextChanged(Editable s) {
            if (sbForFirstText.length() == 0) {
                setPinFirstDigitEditText.requestFocus();
            }
        }
    });

    final StringBuilder sbSecondText = new StringBuilder();
    setPinSecondDigitEditText.addTextChangedListener(new TextWatcher() {
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub
            if (sbSecondText.length() == 0 & setPinSecondDigitEditText.length() == 1) {
                sbSecondText.append(s);
                setPinSecondDigitEditText.clearFocus();
                setPinThirdDigitEditText.requestFocus();
                setPinThirdDigitEditText.setCursorVisible(true);
            }
        }
        public void beforeTextChanged(CharSequence s, int start, int count,
                                      int after) {
            if (sbSecondText.length() == 1) {
                sbSecondText.deleteCharAt(0);
            }
        }
        public void afterTextChanged(Editable s) {
            if (sbSecondText.length() == 0) {
                setPinSecondDigitEditText.requestFocus();

            }
        }
    });

    final StringBuilder sbThirdText = new StringBuilder();
    setPinThirdDigitEditText.addTextChangedListener(new TextWatcher() {
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub
            if (sbThirdText.length() == 0 & setPinThirdDigitEditText.length() == 1) {
                sbThirdText.append(s);
                setPinThirdDigitEditText.clearFocus();
                setPinForthDigitEditText.requestFocus();
                setPinForthDigitEditText.setCursorVisible(true);
            }
        }
        public void beforeTextChanged(CharSequence s, int start, int count,
                                      int after) {
            if (sbThirdText.length() == 1) {
                sbThirdText.deleteCharAt(0);
            }
        }
        public void afterTextChanged(Editable s) {
            if (sbThirdText.length() == 0) {
                setPinThirdDigitEditText.requestFocus();
            }
        }
    });

【问题讨论】:

  • 发布您的 xml,以获得更多说明
  • 查看我的更新答案

标签: android android-edittext passwords


【解决方案1】:

设置android:inputType="textPassword"

【讨论】:

  • 没有像android:inputType="password"这样的字段
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-24
  • 2014-03-20
  • 2017-01-27
  • 1970-01-01
  • 2012-12-31
  • 2015-02-15
  • 1970-01-01
相关资源
最近更新 更多