问题描述
我试图用 asterisk (*) 符号代替 EditText 中的点,其中 inputType 为 textPassword代码>.我遇到了要求使用 setTransformationMethod() 并实现 PasswordTransformationMethod 的帖子.但是我需要实现该类的哪个方法以及如何显示星号?还有其他方法吗?
I am trying to show in asterisk (*) symbol in place of dots in EditText having inputType as textPassword. I came across post that ask to use setTransformationMethod() and implement PasswordTransformationMethod. But which method I of that class need I implement and how show asterisk? Is there other way to do that?
谢谢
推荐答案
我觉得你应该通过文档.创建你的 PasswordTransformationMethod 类,并在 getTransformation() 方法中,只返回与内容长度相同的 * 字符串您的密码字段.
I think you should go through the documentation. Create your PasswordTransformationMethod class, and in the getTransformation() method, just return a string of * characters that is the same length as the contents of your password field.
我做了一些摆弄,想出了一个匿名类,它可以让我创建一个充满 * 的字段.我在这里将其转换为可用的类:
I did some fiddling and came up with an anonymous class that worked for me to make a field full of *s. I converted it into a usable class here:
public class MyPasswordTransformationMethod extends PasswordTransformationMethod {
@Override
public CharSequence getTransformation(CharSequence source, View view) {
return new PasswordCharSequence(source);
}
private class PasswordCharSequence implements CharSequence {
private CharSequence mSource;
public PasswordCharSequence(CharSequence source) {
mSource = source; // Store char sequence
}
public char charAt(int index) {
return '*'; // This is the important part
}
public int length() {
return mSource.length(); // Return default
}
public CharSequence subSequence(int start, int end) {
return mSource.subSequence(start, end); // Return default
}
}
};
// Call the above class using this:
text.setTransformationMethod(new MyPasswordTransformationMethod());
这篇关于在android中如何显示星号(*)代替EditText中的点,输入类型为textPassword?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!


大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)