OnKeyListener()不适用于三星Galaxy S3

时间:2013-09-26 15:00:40

标签: android android-edittext

我在EditText&上应用了OnKeyListener();它不适用于三星Galaxy S3,但适用于所有其他手机...... 不知道我做错了什么......

  et = (EditText) findViewById(R.id.editText1); 
  et.setOnKeyListener(new OnKeyListener() {

        @Override
        public boolean onKey(View arg0, int keyCode, KeyEvent arg2) {
            // TODO Auto-generated method stub
            // You can identify which key pressed buy checking keyCode value
            // with KeyEvent.KEYCODE_
            if (keyCode == KeyEvent.KEYCODE_DEL) {
                // this is for backspace
                Log.d("Button Event", "BackSpace Pressed");
                if (et.getSelectionStart() < length + 1) {
                    return true;
                } else {
                    return false;
                }
            }
            return false;
        }

    });

1 个答案:

答案 0 :(得分:6)

您可以尝试使用et.addTextChangedListener(new TextWatcher()..)并将所有逻辑移动到它的afterTextChanged(...)回调。

仅使用来自硬件键盘的事件调用OnKeyListener(),如View.OnKeyListener's description所述。