我的Android应用上有一个TextWatcher
。
问题是我希望它在每次文本更改时都进行监听,并附加相同的TextView
字符串。
例如,用户在A1A2A3A4A5A6A7A8A9
字段上输入EditText
,那么我希望右上方的textview在6个字符后进行连字符。所以文本视图消失了A1A2A3-A4A5A6-A7A8A9
,而编辑文本仍显示A1A2A3A4A5A6A7A8A9
我在aftertextchanged上尝试过,但没有成功:
@Override
public void afterTextChanged(Editable s) {
String hyphenated = "";
if (s.length() == 6)
{
hyphenated = s.toString()+"-";
mCounter.setText(hyphenated);
}
if (s.length() == 12)
{
hyphenated = s.toString()+"-";
mCounter.setText(hyphenated);
}
}
最佳答案
例如:
String myString = "A1A2A3A4A5A6A7A8A9";
StringBuilder str = new StringBuilder(myString);
for(int i = 0; i < str.length(); i++){
if(i == 6){
str.insert(i, "-");
}
if(i == 13){
str.insert(i, "-");
}
}
System.out.println(str.toString());
输出为:
A1A2A3-A4A5A6-A7A8A9