我有一个EditText
。我希望每当用户按Enter键时,都会自动插入一个数字(增量数字)。我应该使用TextWatcher
界面还是OnEditorActionListener
?如果我使用TextWatcher
,如何识别enter
键。
我这样做了,但是什么也没发生。
View.OnKeyListener onEnter = new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN)
&& (keyCode == KeyEvent.KEYCODE_ENTER)) {
edtInput.addTextChangedListener(new HandlEventEditText(edtInput));
}
return false;
}
};
和HandlEventEditText
类
public class HandlEventEditText implements TextWatcher {
@Override
public void afterTextChanged(Editable s) {
editText.setText("4");
}
}
答案 0 :(得分:1)
解决方案:
像这样使用:
editText.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View view, int keyCode, KeyEvent keyevent) {
//If the keyevent is a key-down event on the "enter" button
if ((keyevent.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
//...
// ...
// ...
return true;
}
return false;
}
});
您可以在此处输入逻辑,然后按Enter键执行操作。
希望有帮助。