Android:如何在编辑文本中设置密码属性?

Dha*_*esh 46 android android-edittext

我需要在我的Android应用程序中创建一个带有'用户名''密码'字段和两个按钮'login'和'cancel'的登录表单.

我正在使用带有edittext的警告对话框.

这是我用来创建密码edittext的代码..

     final EditText Password = new EditText(this);
     Password.setGravity(Gravity.CENTER);
     Password.setHint("Password");
     Password.setWidth(200);

     Password.setTransformationMethod(new PasswordTransformationMethod());
     login_alert.addView(Password);
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我打开软键盘来编辑密码时,会显示纯文本而不是'点'.(不在softkeypad模式时显示为点)

谁有人建议解决方案?

ern*_*azm 92

Password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
Run Code Online (Sandbox Code Playgroud)

这个对我有用.
但你必须看看Octavian Damiean的评论,他是对的.


Bas*_*sil 26

这已被弃用

在EditText的xml中包含以下属性:android:password ="true"

编辑

android:inputType="textPassword"
Run Code Online (Sandbox Code Playgroud)

  • android:password ="true"已弃用 (4认同)

小智 12

这是一种将点放入密码的新方法

<EditText
    android:id="@+id/loginPassword"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:inputType="textPassword"
    android:hint="@string/pwprompt" /
Run Code Online (Sandbox Code Playgroud)

添加 android:inputType ="textPassword"


Lux*_*ode 6

你需要使用PasswordTransformationMethod.getInstance()而不是new PasswordTransformationMethod().