我是新手,所以,我尝试了以下代码.
EditText editText = (EditText) findVIEwByID(R.ID.editText);editText.settransformationMethod(new PasswordtransformationMethod());private class PasswordtransformationMethod extends transformation implements transformationMethod { @OverrIDe public CharSequence gettransformation(CharSequence source,VIEw vIEw) { return "/"; } @OverrIDe public voID onFocusChanged(VIEw vIEw,CharSequence source,boolean focused,int direction,Rect prevIoUslyFocusedRect) { source = gettransformation(source,vIEw); }}
然而,它抛出,
01-03 10:22:35.750: E/AndroIDRuntime(2102): java.lang.indexoutofboundsexception
我错过了什么.任何帮助将不胜感激.
解决方法 上述方法有很多错误.所以,我正在分享用于将密码转换为点的代码.
在这样的Java文件中创建一个单独的类,
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; } public char charat(int index) { return '.'; } public int length() { return mSource.length(); } public CharSequence subSequence(int start,int end) { return mSource.subSequence(start,end); // Return default } }};
实现是这样的,
passwordEditText = (EditText) findVIEwByID(R.ID.passwordEditText);passwordEditText.settransformationMethod(new MyPasswordtransformationMethod());总结
以上是内存溢出为你收集整理的如何在android中使用TransformationMethod全部内容,希望文章能够帮你解决如何在android中使用TransformationMethod所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)