长话短说,一共有两种方法。首先你需要在布局文件里面给EditText设置一个Android:inputType="numberPassword"属性。我这里默认规定密码只能是数字了。如果你需要你的密码不止是数字,你可以设置android:inputType="textPassword"。
方法一:使用setInputType设置(适用于textPassword)
<span class="annotation">@Override</span>
<span class="keyword" style="font-weight:bold">public</span> <span class="keyword" style="font-weight:bold">void</span> onCheckedChanged(CompoundButton buttonView,<span class="keyword" style="font-weight:bold">boolean</span> isChecked) {
<span class="indent"> </span><span class="comment" style="color:#999988;font-style:italic">// TODO Auto-generated method stub</span>
<span class="indent"> </span><span class="keyword" style="font-weight:bold">if</span> (isChecked) {
<span class="indent"> </span><span class="indent"> </span>mPswEdt.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
<span class="indent"> </span><span class="indent"> </span><span class="indent"> </span><span class="indent"> </span>
<span class="indent"> </span>} <span class="keyword" style="font-weight:bold">else</span> {
<span class="indent"> </span><span class="indent"> </span>mPswEdt.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
<span class="indent"> </span>}
}
方法二:使用setTransformationMethod设置(适用于numberPassword)
<span class="annotation">@Override</span>
<span class="keyword" style="font-weight:bold">public</span> <span class="keyword" style="font-weight:bold">void</span> onCheckedChanged(CompoundButton buttonView,<span class="keyword" style="font-weight:bold">boolean</span> isChecked) {
<span class="indent"> </span><span class="comment" style="color:#999988;font-style:italic">// TODO Auto-generated method stub</span>
<span class="indent"> </span><span class="keyword" style="font-weight:bold">if</span> (isChecked) {
<span class="indent"> </span><span class="indent"> </span>mPswEdt.setTransformationMethod(HideReturnsTransformationMethod
<span class="indent"> </span><span class="indent"> </span><span class="indent"> </span><span class="indent"> </span><span class="indent"> </span><span class="indent"> </span>.getInstance());
<span class="indent"> </span>} <span class="keyword" style="font-weight:bold">else</span> {
<span class="indent"> </span><span class="indent"> </span>mPswEdt.setTransformationMethod(PasswordTransformationMethod
<span class="indent"> </span><span class="indent"> </span><span class="indent"> </span><span class="indent"> </span><span class="indent"> </span><span class="indent"> </span>.getInstance());
<span class="indent"> </span>}
}