我想在EditText中更改用戶輸入的字符。實際上,當用戶輸入編輯文本時,我想要的是,如果輸入字符是「S」,則用「B」字符替換它。我想要這樣做實時。更改用戶在Android中的EditText中輸入的字符
2
A
回答
7
我想在EditText中更改用戶輸入的字符。實際上當用戶輸入編輯文本時,我想要 ,如果輸入字符是「S」,用「B」字符替換它 。我想要這樣做實時。
最有可能你需要使用TextWatcher
它非常適用於您的目標,並允許您在實時的EditText的內容來操作。
例子:
edittext.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void afterTextChanged(Editable s) {
}
});
0
使用
EditText textField = findViewById(R.id.textField);
String text = textField.getText().toString();
那麼你可以使用之後
textField.setText(text,TextView.BufferType);
text.replace('b','s');
TextView.BufferType可以有3個值表示here
0
像Sajmon解釋,你必須實現一個TextWatcher。你必須照顧光標。因爲用戶可以在現有文本字符串的任何位置輸入下一個字符(或剪貼板中的一個序列)。要處理這個問題,你必須在正確的位置改變字符(不要替換整個文本):
damageEditLongText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void afterTextChanged(Editable s) {
// Nothing to replace
if (s.length() == 0)
return;
// Replace 'S' by 'B'
String text = s.toString();
if (Pattern.matches(".*S.*", text)) {
int pos = text.indexOf("S");
s.replace(pos, pos + 1, "B");
}
}
});
相關問題
- 1. 在輸入時更改EditText中的字符? Android
- 2. 更改EditText中的輸入更新ScrollView中的錯誤EditText
- 3. 如何限制用戶在Android的EditText中輸入的字符數?
- 4. 的Android EDITTEXT限制輸入的字符
- 5. Android:更改ImageView背景與EditText輸入
- 6. Android edittext鍵盤更改輸入鍵
- 7. 如何在EditText中輸入數字後設置/更改EditText的背景圖像?
- 8. 使editText可以輸入,但文本在Android中不會更改?
- 9. 比較edittext輸入和字符串(android)
- 10. Android中的EditText中的屏蔽輸入
- 11. Android:在用戶輸入EditText時創建倒數字段字段
- 12. Android EditText - 改變新的輸入風格
- 13. Android EditText:輸入文字
- 14. Android:在輸入時修改EditText
- 15. 如何在Android中的EditText中將粗體字符作爲輸入?
- 16. 如何顯示用戶在Android對話框中輸入EditText值
- 17. 如何檢測用戶是否停止在EditText中輸入android
- 18. EditText - 在輸入時更改文本
- 19. 更改輸入字符
- 20. Android EditText輸入
- 21. 當用戶在Android的EditText中輸入文本時,如何更改許多圖像的背景
- 22. 當某個鍵被按下時,將EditText輸入更改爲字符串android
- 23. 添加字符串到用戶輸入的文本更改 - asp.net
- 24. 用戶輸入更改所有相同的字符串
- 25. 如何更改DatePicker對話框在EditText中的輸入格式Android Studio
- 26. 如何控制Android中EditText的輸入?
- 27. 將用戶輸入的editText添加到Android中的url休息調用中
- 28. EditText不在Android中讀取輸入
- 29. 在EditText中不能輸入android
- 30. 如何在用戶輸入中更改python中的行列
你有什麼嘗試? – 2013-03-26 13:48:39
您可以使用TextWatcher。 http://developer.android.com/reference/android/text/TextWatcher.html – Alex 2013-03-26 13:49:31