代码改变EditText的password属性值

时间:2022-11-01 13:35:23

很多登陆dialog都有显示密码的选项,效果如图:

代码改变EditText的password属性值            代码改变EditText的password属性值


不废话,看代码。

这是定义CheckBox的xml:

<CheckBox
android:id="@+id/sec_dialog_login_not_firstcheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:button="@drawable/sec_selector_checkbox"
android:text="显示密码" />


下面是代码片段:

checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked) {
// 显示为普通文本
pwdEdit.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
// 使光标始终在最后位置
Editable etable = pwdEdit.getText();
Selection.setSelection(etable, etable.length());
} else {
// 显示为密码
pwdEdit.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
// 使光标始终在最后位置
Editable etable = pwdEdit.getText();
Selection.setSelection(etable, etable.length());
}
}
});