Joe*_*oel 11 android keylistener android-edittext
在一个EditText组件上,我试图设置一个KeyListener以便捕获ENTER键(用于表单验证).
text.setKeyListener(new KeyListener() {
@Override
public boolean onKeyUp(View view, Editable text, int keyCode, KeyEvent event) {
return false;
}
@Override
public boolean onKeyOther(View view, Editable text, KeyEvent event) {
return false;
}
@Override
public boolean onKeyDown(View view, Editable text, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
onKeyEnterPressedListener.onKeyEnterPressed(AKText.this);
return true;
} else {
return false;
}
}
@Override
public int getInputType() {
return 1;
}
@Override
public void clearMetaKeyState(View view, Editable content, int states) {
}
});
Run Code Online (Sandbox Code Playgroud)
问题是每当我键入EditText使用键盘时,所有键都被忽略,它忽略了我的击键.但是,仿真器设备上的软键盘正在工作.
如何解决这个问题?
cit*_*onn 30
我会改用TextWatcher类:
private TextWatcher tw = new TextWatcher() {
public void afterTextChanged(Editable s){
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){
// you can check for enter key here
}
public void onTextChanged (CharSequence s, int start, int before,int count) {
}
};
EditText et = (EditText) findViewById(R.id.YOUR_EDITTEXT_ID);
et.addTextChangedListener(tw);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22944 次 |
| 最近记录: |