我需要在键入时替换 EditText 中的文本:示例:如果用户按下“A”,它将被存储到缓冲区中,并在 EditText 上显示“D”(看起来他按下了“D”)。现在我可以读取按下的字符,但我不能在 et 中显示任何字符以避免 stackoverflow :
final EditText et = (EditText) findViewById(R.id.editTexts);
final TextView tv = (TextView) findViewById(R.id.textView2);
et.addTextChangedListener(new TextWatcher()
{
public void afterTextChanged(Editable s){}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(s.length() > 0) {
tv.setText(s.toString().substring(s.length()-1));
et.setText("");
}
}
});