我想在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. Android:更改ImageView背景与EditText输入
- 2. Android edittext键盘更改输入键
- 3. 比较edittext输入和字符串(android)
- 4. Android中的EditText中的屏蔽输入
- 5. Android EditText - 改变新的输入风格
- 6. 如何在Android中的EditText中将粗体字符作为输入?
- 7. 如何检测用户是否停止在EditText中输入android
- 8. Android EditText输入
- 9. 更改输入字符
- 10. 当用户在Android的EditText中输入文本时,如何更改许多图像的背景
- 11. 如何更改DatePicker对话框在EditText中的输入格式Android Studio
- 12. 用户输入更改所有相同的字符串
- 13. 如何控制Android中EditText的输入?
- 14. 在EditText中不能输入android
- 15. 无法在edittext上输入文字android
- 16. 将用户输入的editText添加到Android中的url休息调用中
- 17. 在edittext中输入日文字符的问题
- 18. 更改键盘输入文字的Android
- 19. 如何在用户输入中更改python中的行列
- 20. 更改输入字符的ASCII
- 21. 将proc从用户输入到更小的字符串中
- 22. 限制用户中的字符数在Java中的字符串中输入的扫描器输入
- 23. 如何设置仅用于在Android中输入字母的edittext字段?
- 24. Android EditText复制我输入的每个字符
- 25. Android Edittext仅显示输入字符的一部分
- 26. 在IzPack Installer中转义用户输入中的特殊字符
- 27. 在EditText中仅允许输入1个字符,并且在用户输入时总是覆盖
- 28. 允许用户在选择输入中更改输入选择输入
- 29. 如何在用户输入时更改输入的类别?
- 30. 在Silverlight中检测对用户输入控件的更改?
你有什么尝试? – 2013-03-26 13:48:39
您可以使用TextWatcher。 http://developer.android.com/reference/android/text/TextWatcher.html – Alex 2013-03-26 13:49:31