两种方法,针对EditText密码的显示和隐藏(包括激将光标移动到文本末尾)

<span style="font-size:18px;">注:示例代码是封装的方法体,demo运行需要自填剩余

package com.sunzhen.files;


import android.text.Selection;
import android.text.Spannable;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;


/**
 * 文本输入框的常见操作
 * 
 * @author 
 * 
 */
public class EditTextUtil {


	/**
	 * 设置密码的显示和隐藏
	 * 两种操作,其中注释掉的也是一种做法
	 * @param ck
	 * @param pwdEditText
	 */
	public static void IsShowPassWord(CheckBox ck, final EditText pwdEditText) {
		ck.setOnCheckedChangeListener(new OnCheckedChangeListener() {


			@Override
			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				if (isChecked) { // 显示密码
				// pwdEditText.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
					pwdEditText.setTransformationMethod(
							HideReturnsTransformationMethod.getInstance());
				} else { //隐藏密码
					// pwdEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
					pwdEditText.setTransformationMethod(
							PasswordTransformationMethod.getInstance());
				}
				// 设置光标到未能本末尾
				CharSequence charSequence = pwdEditText.getText();
				if (charSequence instanceof Spannable) {
					Spannable spanText = (Spannable) charSequence;
					Selection.setSelection(spanText, charSequence.length());
				}
			}
		});
	}
}</span>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章