我有一个edittext。当我从键盘输入任何键时,我想要的是另一个角色来代替那个角色。例如,如果我键入a,它应该出现在编辑文本框中。请任何人告诉我如何做到这一点。我正在实现addTextChangedListener。但我不明白这种回调方法。
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
答案 0 :(得分:0)
我不确定你的意思,但我试图弄清楚:
您希望每次在editText中写一个字符时,app都会写下一个字母(例如a-> b,b-> c,c-> d等等......)
这个方法你应该把它放在onTextChanged中。 你应该检索你写的char的ASCII值,然后像这样:
char c = 'a'; //The value of ´a´ in ASCII e´97
int i = (int) c;
int i++;
所以像这样你已经保存了'b'的ASCII值。
如何使用onTextChanged的方法,你可以看看这里 - > http://www.learn-android-easily.com/2013/06/using-textwatcher-in-android.html
答案 1 :(得分:0)
在onTextChanged()
内填写此内容:
String str = editText.getText().toString();
if (str.length() == 0)
return;
editText.removeTextChangedListener(this);
switch (str.charAt(str.length() - 1)) {
case 'a':
str = str.substring(0, str.length() - 1) + 'b';
editText.setText(str);
editText.setSelection(str.length());
break;
}
editText.addTextChangedListener(this);