我需要getText()返回单词之间有一个空格的文本,并删除行开头和结尾的所有空格。为了实现这些要求,我在edittext中重写了这个方法:
@Override
public Editable getText() {
String text = super.getText().toString();
text = text.trim();
StringBuilder builder = new StringBuilder();
for (int i = 0; i < text.length(); i++) {
if ((i + 1) >= text.length() || text.charAt(i) != ' ' || text.charAt(i + 1) != ' ') {
builder.append(text.charAt(i));
}
}
Editable e = new SpannableStringBuilder(builder);
return e;
}
但输入文字时不再显示光标。我已经尝试了几种方法在代码和XML中显示它,但没有任何帮助。 有可能以某种方式修复此错误吗?
我的CutomEditText
课程延长了AppCompatEditText
答案 0 :(得分:2)
为什么你可以轻松地完成这样的复杂化
String data = "Where are you going"; // you can also use String data = edittext.getText()
String str[] = data.split(" ");
String filtered = "";
for(int i=0;i<str.length;i++){
if(i=0)
filtered=trim(str[i]);
else{
filtered = " "+trim(str[i]);
}
}