代码改变EditText的password属性值
很多登陆dialog都有显示密码的选项,效果如图:
不废话,看代码。
这是定义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()); } } });