当用户在EditText中输入一个句子时,如何替换某些字符?例如,当用户键入“你好”立即变成“海拉”!我想改变一些字符时,用户类型用android软键盘改变输入的字符
1
A
回答
1
您必须使用文本观察器。 etMessage是一个EditText,看到这个代码:
etMessage.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
String myString = s.toString();
Toast.makeText(getApplicationContext(), myString,
Toast.LENGTH_SHORT).show();
if (myString.length() > 0)
if (myString.charAt(myString.length() - 1) == 'o') {
etMessage.setText("Hello");
}
}
});
0
我不完全确定你的意思是这个问题,但我会尽力回答我最好的理解... 使用TextTextListener的EditText字段。 如:
mySlangMaker.addTextChangedListener(new CustomTextWatcher(mySlangMaker));
private class CustomTextWatcher implements TextWatcher {
private EditText mEditText;
public CustomTextWatcher(EditText mySlangMaker) {
mEditText = mySlangMaker;
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
public void afterTextChanged(Editable s) {
}
}
这样的事情...添加你想要的逻辑在适当的方法.. :)
希望这是你在找什么..: )
我的问题是:如何在输入时改变一些字符,如文本自动校正。我无法理解你的答案 – Fcoder 2012-03-21 15:20:29