我制作简单的数学应用程序(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;
}
});