我使用TextWatcher更改按下的鍵值。我的目標是在打字時替換一些字符。例如當我鍵入鍵時,如果達到「S」字符,用「a」字符替換它。我的問題是:我應該在beforeTextChanged嗎?怎麼樣?任何人都可以給我一個例子嗎?替換TextWatcher中的字符android
4
A
回答
1
使用beforeTextChanged將不會有用,因爲它不會中斷EditText實際鍵的打印。我會使用類似的東西:
public void afterTextChanged(Editable s) {
if(s.length() > 0 && s.toString().charAt(s.length()-1) == 'S')
{
final String newText = s.toString().substring(0, s.length()-1) + "a";
editText.setText(newText);
}
}
我加了一些的toString()的,不是100%肯定我是如何工作的編輯,但認爲應該覆蓋它。
-1
@Override
public void afterTextChanged(Editable arg0) {
Editable ab = new SpannableStringBuilder(arg0.toString().replace("S", "a"));
arg0 = ab ;
}
+0
重新分配本地變量對原始可編輯值沒有任何影響! – user2878850 2017-09-19 19:08:23
7
我知道這個帖子是一對夫婦歲,但兩個版本並沒有爲我工作,具有建設兩個答案之間的混合體。
@Override
public void afterTextChanged(Editable editable) {
if (editable.toString().contains(",")) {
Editable ab = new SpannableStringBuilder(editable.toString().replace(",", ""));
editable.replace(0, editable.length(), ab);
}
}
相關問題
- 1. 在Android的TextWatcher中替換鍵入的字符
- 2. Android使用TextWatcher替換單詞
- 3. 替換字符串中的Android
- 4. 替換android中的字符串?
- 5. 替換Android中的字符串
- 6. 如何替換Android中的字符串?
- 7. 字符串替換android?
- 8. Android替換字符串
- 9. 在Android中替換字符串中的特殊字符
- 10. python替換字符而不替換已替換的字符
- 11. 替換字符串中的變量替換錯誤的字符
- 12. 替換方法不是替換字符串中的字符
- 13. 如何在Android中替換字符串的第一個字符
- 14. 用Android中的anotherString替換特殊字符字符串
- 15. 替換NSString中的字符
- 16. 替換Powershell中的'字符
- 17. 替換Scrapy中的字符
- 18. 替換Excel中的字符
- 19. 替換NSString中的字符
- 20. 替換字符串中的\」
- 21. 替換字符串中的字符Java
- 22. Java - 替換字符串中的字符
- 23. 替換字符串中的字符
- 24. Swift - 替換字符串中的字符
- 25. c中的字符串替換字符#
- 26. Java - 替換字符串中的字符
- 27. 替換字符串中的字符?
- 28. Postgres替換字符串中的字符
- 29. 替換字符串中的字符
- 30. 替換字符串中的字符
嘗試使用'afterTextChanged'代替beforeTextChanged'的'在EditText上 – 2013-03-27 07:36:22
替換字符我試圖做到這一點,但我不能得到我想要的。你可以給我一個例子嗎? – Fcoder 2013-03-27 07:37:36
PLZ解釋更多如果你正在使用afterTextChanged和你想獲得更多幫助,你會得到什麼 – 2013-03-27 07:40:10