-1

I would like to find out which key is pressed. I have a EditText and I added a KeyListener for it. but it doesnt seem to be working.I have a textview and I want to setText which is is pressed on the textview.

edittext = (EditText)findViewById(bla);
textview = (TextView)findViewById(bla);
edittext.setKeyListener(new Keylistener(){
@Override
                    public void clearMetaKeyState(View view,
                            Editable content, int states)    {
                        // TODO Auto-generated method stub

                    }

                    @Override
                    public int getInputType() {
                        // TODO Auto-generated method stub
                        return 0;
                    }

                    @Override
                    public boolean onKeyDown(View view, Editable text,
                            int keyCode, KeyEvent event) {

                        if(keyCode==KeyEvent.KEYCODE_DEL){
                            textview.setText("delete");
                        }
                        // TODO Auto-generated method stub
                        return false;
                    }

                    @Override
                    public boolean onKeyOther(View view, Editable text,
                            KeyEvent event) {
                        // TODO Auto-generated method stub
                        return false;
                    }

                    @Override
                    public boolean onKeyUp(View view, Editable text,
                            int keyCode, KeyEvent event) {
                        if(keyCode==KeyEvent.KEYCODE_DEL){
                            textview.setText("delete");
                        }
                        return false;
                    }

 });

This should be deadly simple but I cannot get it worked :)

akd
  • 6,538
  • 16
  • 70
  • 112

1 Answers1

1

Try this. This one works on my project.

    editext.setOnKeyListener(new OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if( (event.getAction() == KeyEvent.ACTION_DOWN) && 
                    (keyCode == KeyEvent.KEYCODE_DEL) ){
                Log.d(TAG, "Delete key clicked !");

                return true;
            }
            return false;
        }
    });

If this doesn't work, you are probably listening a wrong EditText. Check your findViewById to see if your id is correct.

Lazy Ninja
  • 22,342
  • 9
  • 83
  • 103