如何查找在android中按下了哪个键? [英] how to find which key is pressed in android?

查看:128
本文介绍了如何查找在android中按下了哪个键?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想找出按下了哪个键.我有一个EditText,并为此添加了一个KeyListener.但是它似乎没有用.我有一个textview,我想设置要在textview上按下的setText.

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 :)

推荐答案

尝试一下.这个适用于我的项目.

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

如果这不起作用,则可能是您听错了EditText.检查您的findViewById以查看您的ID是否正确.

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

这篇关于如何查找在android中按下了哪个键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆