Android 用于键入许可证的编辑文本
在我的android应用程序上,当应用程序第一次运行时,用户必须键入许可证。许可证的格式是Android 用于键入许可证的编辑文本,android,android-edittext,hint,Android,Android Edittext,Hint,在我的android应用程序上,当应用程序第一次运行时,用户必须键入许可证。许可证的格式是####-XXX-####-####其中#是一个数字,X是一个字符。我把格式作为提示,但它是不够的。我怎么能这样做,用户不输入-,它只是出现在3个字符之后 更新: 这是我的代码,它是有效的: licenseEditText.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable
####-XXX-####-####
其中#
是一个数字,X
是一个字符。我把格式作为提示,但它是不够的。我怎么能这样做,用户不输入-,它只是出现在3个字符之后
更新:
这是我的代码,它是有效的:
licenseEditText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
System.out.println("afterTextChanged");
if (s.length() == 3) {
s.append("-");
}
if (s.length() == 7) {
s.append("-");
}
if (s.length() == 11) {
s.append("-");
}
if (s.length() == 15)
ok.performClick();
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
System.out.println("beforeTextChanged");
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
System.out.println("onTextChanges");
}
});
设置一个
TextWatcher
,在其内部将插入的文本与常规表达式进行比较。并在前3个字符后加上其他代码,如“-”到插入的字符集 设置一个TextWatcher
,在其内部将插入的文本与常规表达式进行比较。并在前3个字符后加上其他代码,如“-”到插入的字符集 您可以使用4个EditText并向其附加文本-类似windows的许可证输入您可以使用4个EditText并向其附加文本-类似windows的许可证输入尝试使用%operator
if( s.length() == 15) {
// s.length() = 15
} else if( s.length() % 4 == 3) {
// s.length = {3, 7, 11, 19, ....}
// so s.length != 15
}
这样您就减少了代码重复。有关更多信息,请检查:尝试使用%运算符
if( s.length() == 15) {
// s.length() = 15
} else if( s.length() % 4 == 3) {
// s.length = {3, 7, 11, 19, ....}
// so s.length != 15
}
这样您就减少了代码重复。有关更多信息,请查看:@Shailendra一个例子会很有帮助:)这是我自己的想法,所以无法导航到任何url。我从不喜欢为别人写完整的代码。Thanks@Shailendra举个例子会很有帮助:)这是我自己的想法,所以不能导航到任何url。我从不喜欢为别人写完整的代码。谢谢