在EditText中处理“ Enter”并在其中插入字符

时间:2018-09-12 07:41:00

标签: android android-edittext event-handling

我有一个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");
    }

}

1 个答案:

答案 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键执行操作。

希望有帮助。