我正在创建一个数学应用程序,用户在其中输入问题的答案。如果问题是3 * 2,并且用户按6,则它将评估所有按钮上的动态使用onClick
函数。如果问题是5 * 2,我有问题,答案是10,当用户输入1时,它开始评估,并显示错误的答案,而不等待第二个数字。我该如何解决这个问题。程序必须等待第二个数字如果答案是两位数在java中验证第二个数字
public void onClick(View view) {
if(view.getId()==R.id.btn_one ||view.getId()==R.id.btn_two || view.getId()==R.id.btn_three || view.getId()==R.id.btn_four || view.getId()==R.id.btn_five || view.getId()==R.id.btn_six || view.getId()==R.id.btn_seven || view.getId()==R.id.btn_eight || view.getId()==R.id.btn_nine || view.getId()==R.id.btn_zero ||view.getId()== R.id.answer)
{
response.setVisibility(View.INVISIBLE);
//get number from tag
int enteredNum = Integer.parseInt(view.getTag().toString());
//either first or subsequent digit
if(answerTxt.getText().toString().endsWith("?"))
answerTxt.setText("= "+enteredNum);
else
answerTxt.append(""+enteredNum);
String answerContent = answerTxt.getText().toString();
if(!answerContent.endsWith("?"))
{
int enteredAnswer = Integer.parseInt(answerContent.substring(2));
if(enteredAnswer == answer1)
{
response.setImageResource(R.drawable.tick);
response.setVisibility(View.VISIBLE);
}
else{
response.setImageResource(R.drawable.cross);
response.setVisibility(View.VISIBLE);
}
selectQuestion();
}
}
还有更多:如果有什么问题是 “10 * 10”?答案有3位数字。所以,你需要一个更通用的解决方案。一个想法:有另一个按钮 - 例如“确定” - 用户必须点击_进入答案。评估仅在点击该按钮时开始。说了这些,你的问题有点过于宽泛。 – Seelenvirtuose
要么你需要提交/输入按钮,用户在完成答案后必须按下,或者在显示验证结果之前保留一些缓冲时间(例如:3秒),以便缓冲时间允许用户按下下一个数字。在缓冲时间后仅显示给用户的最后结果 –