如何使用android模拟器键盘的关键事件?

我做了简单的数学应用程序(Calculater) . 喜欢加法减法等 . 所以我把三个Editview两个用于问题,一个用于Answer.i使用 longKeyPressed 事件并在用户按下android模拟器的回车键时得到结果 . 这个我使用entet键的键码并应用于longKeyPressesd方法但没有解决方案 . 我的代码是

@Override
        public boolean onKeyLongPress(int keyCode, KeyEvent event) 
        {
            switch (keyCode) 
            {
            case KeyEvent.KEYCODE_ENTER:
                if(!(txtAnswer.getText().toString().equals(" ")))
                {
                    checkAnswer(Integer.parseInt(txtAnswer.getText().toString()),correctOption);
                }else
                {
                    genHelper.showToast("Another evenet ::->"+event.getKeyCode());          

                }
                break;

            default:
                genHelper.showToast("Default key Pressed:->>->"+event.getKeyCode());
                break;
            }
            return super.onKeyLongPress(keyCode, event);
        }

genHelper是我的Genral类,用于可重用性目的 .

现在今天我使用 OnEditorActionListener 查找结果但键码模拟器kaypad cound 't get please say me the way it' s紧急

我的新代码如下

txtOnes.setOnEditorActionListener(new OnEditorActionListener() 
                {   
                    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) 
                    {

                        if (event != null&& (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) 
                         {
                             genHelper.showToast("Key Code-->"+event.getKeyCode());
                             genHelper.showToast("System Key Code-->"+KeyEvent.KEYCODE_ENTER);
                             if(txtTens.getText().toString().equals(""))
                                {               
                                    forTens=0;
                                }
                                else
                                {
                                    forTens=Integer.parseInt(txtTens.getText().toString());
                                }                           
                                forOnes=Integer.parseInt(txtOnes.getText().toString());
                                forOnes=forOnes+forTens;
                                txtAnswer.setText(String.valueOf(forOnes));

                             return true;
                         }else
                         {
                             genHelper.showErrorLog("Else part here ones");
                         }
                        return false;
                    }
                });

无论如何请告诉我

回答(0)