是否可以在 EditText
用户输入数据时自动插入字符?
即如果用户输入一个长数字,例如 123456789012
,这个数字是否有可能在他在编辑文本框中输入时出现,但每隔 4 个字符有一个破折号?
所以当您键入上面的数字时,您会看到它被输入到 EditText
框中,但看起来像这样:1234-5678-9012。
目前我有一个应用程序,您可以在其中输入一个长数字,然后按下一个按钮,它会为您插入破折号,但我很好奇它是否可以在您键入时完成?
非常感谢您的帮助。
最佳答案
通过标记 android,我认为您正在讨论 android editText,因此您可以通过监听 TextChangedListener 来完成,
已编辑:用于退格
editText.addTextChangedListener(new TextWatcher() {
int len=0;
@Override
public void afterTextChanged(Editable s) {
String str = editText.getText().toString();
if(str.length()==4&& len <str.length()){//len check for backspace
editText.append("-");
}
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
String str = editText.getText().toString();
len = str.length();
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
});
关于android - 实时编辑用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4172242/