所以听说按键事件是多余的,输入法一般不会触发。但是我刚刚开始开发一个类似终端的应用程序,我想逐个解析输入键,而不是在单击“完成”/“输入”之后(例如,用于检测何时插入硬换行符,就像在命令行中)。我使用 EditText 但从 TextView 追加和删除也是一种选择(我更喜欢,较少与样式和输入类型的组合)。
所以实际的问题是:如何逐键听输入法输入?甚至可能吗?
所以听说按键事件是多余的,输入法一般不会触发。但是我刚刚开始开发一个类似终端的应用程序,我想逐个解析输入键,而不是在单击“完成”/“输入”之后(例如,用于检测何时插入硬换行符,就像在命令行中)。我使用 EditText 但从 TextView 追加和删除也是一种选择(我更喜欢,较少与样式和输入类型的组合)。
所以实际的问题是:如何逐键听输入法输入?甚至可能吗?
editText.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
}
});
或者
editText.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) {
}
});