当用户在EditText中输入一个句子时,如何替换某些字符?例如,当用户类型“Hello”立即变为“Hella”时!我希望在用户类型
时更改一些字符答案 0 :(得分: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");
}
}
});
答案 1 :(得分:0)
我不确定你对这个问题的意思,但我会尽力回答我最好的理解...... 对EditText字段使用TextChangedListener。 例如:
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) {
}
}
类似的东西......在适当的方法中添加你想要的逻辑.. :)
希望这是你正在寻找的......:)