EditText中的光标在覆盖getText()后重复

时间:2016-11-15 07:27:25

标签: android android-edittext cursor gettext

我需要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

1 个答案:

答案 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]); 
    }
}