単純な算数アプリ(電卓)を作っています。足し算・引き算などです。longKeyPressed
ユーザーが Android エミュレーターの Enter キーを押したときに、イベントを使用して Result を取得します。このために、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 は、再利用性を目的とした私の一般的なクラスです。
今、私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;
}
});