2016-11-15 37 views
0

我需要getText()返回单词之间的单个空格的文本,并删除行的开始和结束处的所有空格。为了实现这些要求,我在edittext中重写了这个方法:来自EditText的光标覆盖后getText()

@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

你不能得到文本Gettext中的()方法,然后可以做的空间去除而不是重写该方法。 –

回答

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