我正在构建一个应用程序,我需要确定用户在软输入键盘上按下了什么键。我有以下功能,只有按下输入和返回键时才会触发日志 - 64和67.当按下键盘上的任何其他键时没有任何反应。
<fieldset addfieldpath="administrator/components/com_categories/models/fields"></fieldset>
答案 0 :(得分:0)
使用TextWatcher获取当前键入的文本。
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
}
});
答案 1 :(得分:0)
您需要添加setOnKeyListener()
方法:
edittext.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER){
Toast.makeText(getApplicationContext(), "Clicked ENTER or END button", Toast.LENGTH_SHORT).show();
}
return false;
}
});
当然,这是Enter键的示例。