首页 > 解决方案 > 在 EditText 中处理“Enter”并在其中插入字符

问题描述

我有一个EditText. 我希望每当用户按下回车键时,自动插入一个数字(增量数字)。我应该使用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");
    }

}

标签: androidandroid-edittextevent-handling

解决方案


解决方案:

像这样使用:

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 键就会按照你说的做。

希望能帮助到你。


推荐阅读