入力中にEditText内のテキストを置き換える必要があります。例:ユーザーが「A」を押すと、バッファーに保存され、代わりにEditTextに「D」が表示されます(「D」を押したように見えます)。これで、押された文字を読み取ることができますが、stackoverflowを回避するためにetに文字を表示することはできません:
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("");
}
}
});