【问题标题】:Android - EditText delete (soft button) key event and deleting actionAndroid - EditText 删除(软按钮)键事件和删除动作
【发布时间】:2018-04-10 10:39:20
【问题描述】:

在我的片段中,我想在 EditText 上拦截来自软件键盘的“按下删除(软按钮)”事件。

我可以这样做,使用以下代码:

positionEditText.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {
            if(keyCode == KeyEvent.KEYCODE_DEL) {
                Log.d("TAG", "OnKeyListener, premuto BACKSPACE");
                backspacePressed = true;
                return true;
            }
            return false;
        }
    });

问题是这样做,我无法正确删除编辑文本。删除功能只有在我按住删除按钮时才有效。

【问题讨论】:

    标签: android android-edittext keylistener


    【解决方案1】:
    if(keyCode == KeyEvent.KEYCODE_DEL) {
        Log.d("TAG", "OnKeyListener, premuto BACKSPACE");
        backspacePressed = true;
        return true; // This is the problem
    }
    

    通过返回 true你是在告诉系统......我会处理它。删除它,它会工作。

    【讨论】:

    • @RajeshKushvaha 你有什么问题?对于我的问题,该解决方案非常有效。
    【解决方案2】:

    试试这个:

    positionEditText.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {
                if(keyCode == KeyEvent.KEYCODE_DEL) {
                    Log.d("TAG", "OnKeyListener, premuto BACKSPACE");
                    backspacePressed = true;
                }
                return false;
            }
        });
    

    【讨论】:

      猜你喜欢
      • 2011-06-20
      • 1970-01-01
      • 2012-08-18
      • 1970-01-01
      • 2013-10-08
      • 2020-02-03
      • 1970-01-01
      • 2014-04-14
      • 2023-03-24
      相关资源
      最近更新 更多