我需要检测EditText
中软键盘或硬键盘上的每一个按键。我只需要一次发送一个字符,因为它们是按下的,不需要最后的文本字符串。
我试过在onKeyPress
上使用EditText
,但我遇到了软键盘无法获得按键的问题,TextWatcher
不是一个好的选择,因为我需要每次按键。有没有办法知道所有的按键(包括back,shift,enter...还有)?
发布于 2013-01-10 12:55:02
如果您有一个EditText
,那么您可以使用TextWatcher
接口。在我的代码中,search_edit
是一个EditText
。
search_edit.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//here is your code
myadapter.getFilter().filter(s);
listview.setAdapter(myadapter);
}
@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
}
});
发布于 2011-08-19 13:39:56
实现这一点:
et_code_1.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
/* do something */
}
return true;
}
});
更新:
如果你想实现一个软键监听器,你可以实现TextWatcher。下面是一个示例:How to use the TextWatcher class in Android?
发布于 2011-08-19 13:17:42
使用addTextChangedListener(TextWatcher watcher)
并实现TextWatcher接口。
https://stackoverflow.com/questions/7117209
复制相似问题