Android 坚持比较答案

Android 坚持比较答案,android,Android,我正在制作一个测验应用程序。我一直在比较答案。我添加了一个对话框来显示答案是否正确,toast是否也能正常工作。但是当我在每个单词上比较错误答案时,我键入的toast都错了。这里的问题是我用来比较的代码 boolean isCorrectAnswer() { String player_answer = ""; //concat all letters from answer buttons in one string for (int i = 0; i < ans

我正在制作一个测验应用程序。我一直在比较答案。我添加了一个对话框来显示答案是否正确,toast是否也能正常工作。但是当我在每个单词上比较错误答案时,我键入的toast都错了。这里的问题是我用来比较的代码

boolean isCorrectAnswer() {
    String player_answer = "";
    //concat all letters from answer buttons in one string
    for (int i = 0; i < answer_line.length; i++) {
        for (int j = 0; j < answer_line[i].getChildCount(); j++) {

            Button b = (Button) answer_line[i].getChildAt(j);
            player_answer += b.getText().toString();

        }
      //compare player's answer with correct
    if (player_answer.equalsIgnoreCase(correct_answer)) {
        ShowToast(check_toast, "Correct", Gravity.CENTER, new Point(0, -50));

                   return true;
    } else {


        ShowToast(check_toast, "Wrong", Gravity.CENTER, new Point(0, -50));

        return false;
    }


}
boolean isCorrectAnswer(){
弦乐演奏者_-answer=“”;
//将应答按钮中的所有字母合并为一个字符串
对于(int i=0;i
***更新编码

public boolean onTouch(View v, MotionEvent event) {
                    if ((event.getAction() == MotionEvent.ACTION_MOVE) || (event.getAction() == MotionEvent.ACTION_DOWN)) {
                        if (!b.getText().toString().equals("") && letters_in_answer < correct_answer.length()) {
                            letters_in_answer++;
                            System.out.println("letters: " + letters_in_answer);
                            int free_pos = getFirstFreeAnswerButtonPosition();
                            Button a = findButtonByPos(answer_line, free_pos);
                            a.setText(b.getText());
                            hideButton(b);
                            link_list.set(free_pos, letter_pos);
                            Helper.playSound(getApplicationContext(), "click");


                        }

                        //pops during correct answer
                            if (isCorrectAnswer()) {
                                       toUpperCase() + "!", Gravity.CENTER, new Point(0, -50));
                                Helper.playSound(getApplicationContext(), "correct");

                                //if not all images was shown we show next image
                                if (cur_image < images.length - 1) {
                                    final Dialog dialog = new Dialog(context);
                                    dialog.setContentView(R.layout.custom);
                                    dialog.setTitle("Title...");

                                    // set the custom dialog components - text, image and button
                                    TextView text = (TextView) dialog.findViewById(R.id.text);
                                    text.setText("Android custom dialog example!");
                                    ImageView image = (ImageView) dialog.findViewById(R.id.image);
                                    image.setImageResource(R.drawable.ic_launcher);
                                    dialog.show();

                                    Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
                                    // if button is clicked, close the custom dialog
                                    dialogButton.setOnClickListener(new OnClickListener() {
                                        @Override
                                        public void onClick(View v) {
                                            dialog.dismiss();

                                        }
                                      });

                                    generateNewLevel();
                       } 

                                else {
                                    finish();

                                    Intent endgame = new Intent(GameActivity.this, EndActivity.class);
                                  startActivity(endgame);                                     
                                   finish();
                                }




             }
                        }



                    return false;
                }
            });
        }
    }
}


    }
public boolean onTouch(视图v,运动事件){
if((event.getAction()==MotionEvent.ACTION_MOVE)| |(event.getAction()==MotionEvent.ACTION_DOWN)){
如果(!b.getText().toString().equals(“”)和字母\u在\u-answer
@user3215214如果用户必须输入所有您无法输入的字母,请在
isCorrectAnswer()
方法中尝试:

boolean isCorrectAnswer() {
 String player_answer = "";
    //concat all letters from answer buttons in one string
 for (int i = 0; i < answer_line.length; i++) {
    for (int j = 0; j < answer_line[i].getChildCount(); j++) {

        Button b = (Button) answer_line[i].getChildAt(j);
        player_answer += b.getText().toString();

    }
  //compare player's answer with correct
if(player_answer.length()==correct_answer.length()){
    if (player_answer.equalsIgnoreCase(correct_answer)) {
        ShowToast(check_toast, "Correct", Gravity.CENTER, new Point(0, -50));

               return true;
    } else {


        ShowToast(check_toast, "Wrong", Gravity.CENTER, new Point(0, -50));

        return false;
    }
} else return false;


}
boolean isCorrectAnswer(){
弦乐演奏者_-answer=“”;
//将应答按钮中的所有字母合并为一个字符串
对于(int i=0;i
如果键入的每个“单词”(字母?)都显示错误,则调用验证答案的方法的频率会降低。请尝试使用方法equalsIgnoreCase(字符串)而不是equals(对象)@DanielBo当我点击每一个字母时,我都会得到错误的答案。即使我键入正确的答案,它也会显示出来。我的意思是正确答案的字母。但如果答案是正确的,它会传递到下一个问题,但我发现比较错误答案的问题。@MandarKakade我试过了,但我仍然看到我键入的每一个字母上都有吐司。我不知道你想做什么,但这是怎么做的我明白了:如果你在测验中一个字母一个字母地输入答案,那么每次你输入一个字母时,你都在检查答案是否正确,这是不正确的,因为这个字符串(你输入的一个字母)不等于答案,您将收到toast消息。我希望您理解我想说的:)。如果我说的是正确的,您需要在用户输入整个答案后检查答案是否正确。