我制作了简单的数学应用程序(计算器)。比如加减法等。所以我拿了三个 Editview,两个用于问题,一个用于答案。当用户按下 Android 模拟器的回车键时,我使用该longKeyPressed
事件并获得结果。为此,我使用 entet key 的 keycode 并在 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 是我的通用类,用于可重用性目的。
现在今天我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;
}
});