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

标签 android android-edittext event-handling

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

}

最佳答案

解决方案:

像这样使用:

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;
    }
});

你可以在那里输入逻辑,你的回车键会按照你说的去做。

希望对您有所帮助。

关于android - 在 EditText 中处理 “Enter” 并在其中插入字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52289915/

相关文章:

android - 如何防止我的应用程序在使用 JSON 数据时意外崩溃 "force close"并改为处理异常?

android - 如何在应用栏中添加 Assets 图像作为 Flutter 应用程序中的操作图标?

android - 'Accounts & Sync' 中的自定义服务

Android Edit Text - 光标停留在起始位置

javascript - 观察插入的元素及其以编程方式更新的值

python - wxPython WebView : how to reload on error?

android - 微调器 getSelectedItem() 返回 null

android - 如何在 EditText 中以不同颜色标记值?

Android EditText文本和提示布局

node.js - 如何跟踪和处理 Node 中的事件