Android:使用文本观察程序编辑文本时,每10位数字后留有空格
在android编辑文本中,如何按空格分隔输入的10位数字?我正在使用android文本观察程序,我正在尝试在字段中输入多个10位数的数字。当在字段中复制和粘贴多个数字时,问题就会出现,此时,它不会占用这些空格。请告诉我一个解决方案,以便在从其他位置复制数字时,允许在每10位数字后输入多个数字,并在数字后留有空格。这对从其他位置复制/粘贴的和都有效Android:使用文本观察程序编辑文本时,每10位数字后留有空格,android,android-edittext,textwatcher,Android,Android Edittext,Textwatcher,在android编辑文本中,如何按空格分隔输入的10位数字?我正在使用android文本观察程序,我正在尝试在字段中输入多个10位数的数字。当在字段中复制和粘贴多个数字时,问题就会出现,此时,它不会占用这些空格。请告诉我一个解决方案,以便在从其他位置复制数字时,允许在每10位数字后输入多个数字,并在数字后留有空格。这对从其他位置复制/粘贴的和都有效 yourEditText.addTextChangedListener(new TextWatcher() { private st
yourEditText.addTextChangedListener(new TextWatcher() {
private static final char space = ' ';
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
int pos = 0;
while (true) {
if (pos >= s.length()) break;
if (space == s.charAt(pos) && (((pos + 1) % 11) != 0 || pos + 1 == s.length())) {
s.delete(pos, pos + 1);
} else {
pos++;
}
}
pos = 10;
while (true) {
if (pos >= s.length()) break;
final char c = s.charAt(pos);
if (Character.isDigit(c)) {
s.insert(pos, "" + space);
}
pos += 11;
}
}
});
根据需要编辑并使用以下代码
StringBuilder s;
s = new StringBuilder(yourTxtView.getText().toString());
for(int i = 10; i < s.length(); i += 10){
s.insert(i, " "); // this line inserts a space
}
yourTxtView.setText(s.toString());
粘贴数字时会发生什么情况?请发布您所做的操作?您如何确定数字有10位数字,如果有国家代码前缀呢?复制-后文本更改(可编辑的s){if(s.length()>0&(s.length()%11)==0{final char c=s.charAt(s.length()-1);if(space==c{s.delete(s.length()-1,s.length());我在Textwatcher}if(s.length()>0&&(s.length()%11)==0){charc=s.charAt(s.length()-1);if(Character.isDigit(c)&&TextUtils.split(s.toString(),String.valueOf(space)).length它对键入和复制/粘贴都有效。您尝试过这个吗?@sneelcome。祝您好运。
String str = yourTxtView.getText().toString().replace(" ", "");