我已经在edittext上应用了onkeylister()&它不是在三星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;
        }

    });

最佳答案

您可以尝试使用et.addTextChangedListener(new textWatcher()..)并将所有逻辑移到它的aftertextChanged(…)回调。
onKeyListener()只通过硬件键盘上的事件调用,如View.OnKeyListener's description中所述。

08-18 17:59