我不明白为什么这段代码不起作用。只有退格键和回车键被检测到,没有检测到其他按键。我的设备是Nexus One。
我尝试重写activity的OnKeyDown方法,结果更糟糕了。唯一检测到的按钮是硬件返回按钮。
我看到有人建议使用TextWatcher和onTextChanged,虽然在某些情况下可能有效,但这并不是真正的解决办法。例如,如果文本框为空,你将无法检测到用户按下BackSpace(删除)键。 所以有什么想法呢?
TextView txtInput = (TextView)findViewById(R.id.txtInput);
txtInput.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
makeToast(keyCode + " key pressed");
return true;
}
});