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

时间:2012-07-03 12:24:52

标签: android textview keyevent

我制作简单的数学应用程序(Calculater)。类似于加法减法等。 所以我把三个Editview两个用于问题,一个用于答案。我使用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

我的新代码低于

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 个答案:

没有答案