2016-11-15 38 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]); 
    } 
}