【发布时间】:2017-01-08 19:48:27
【问题描述】:
我想处理点击屏幕键盘的“确定”键。为此,我在文本字段中添加了一个 KeyListener:
textField = (EditText) view.findViewById(R.id.text_field);
textField.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View view, int keyCode, KeyEvent event) {
boolean handled = false;
if (keyCode == KeyEvent.KEYCODE_ENTER) {
okPressed(view);
handled = true;
}
return handled;
}
});
在 okPressed 方法中,我正在检查内容:
private void okPressed(View view) {
String value = textField.getText().toString().trim();
if (value.equals("")) {
Toast.makeText(view.getContext(), "Error", Toast.LENGTH_SHORT).show();
return;
}
}
现在对于我的文本字段不为空的情况,一切正常。但是在字段不包含文本的情况下,我的 okPressed 方法会执行两次。但为什么呢?
【问题讨论】:
标签: java android keylistener