0

2 つのフラグメントと最初のフラグメントがあり、2 つのページがあり、各ページには少なくとも 2 つのラジオ ボタンと質問があり、それらのラジオ ボタンで回答を選択します。現時点では、if else 関数を使用しsetText、ラジオ ボタンの質問と回答を設定するために使用する必要があります。正しい回答をクリックすると、最後のページに移動して [結果の表示] をクリックするまで何も表示されません。今、私は if else を使いsetOnClickListener続け、それらすべてに使い続けなければなりません。また、 を使用するsetOnClickListenerと、結果ページの変数に +1 の結果が送信されます。

これを行う簡単な方法はありますか?

これは私のコードがどのように見えるかです

    if(fragmentNumber == 0)
    {
        ask_question.setText("Question1?");
        rb1.setText("Answer1");
        rb2.setText("Answer2");
        rb1.setOnClickListener(new android.view.View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ResultsFragment.Q1 = 1;
            }
        });
    }
    else if(fragmentNumber == 1)
    {
        ask_question.setText("Question2?");
        rb1.setText("Answer2-1");
        rb2.setText("Answer2-2");
        rb2.setOnClickListener(new android.view.View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ResultsFragment.Q2 = 1;
            }
        });

    }

これを行うためのより簡単な方法を探す以外に、別の問題にも遭遇しました。例を挙げましょう。

たとえば、Q1 が正しく、Q2 が間違っていた場合、結果を表示するときに 1/2 が得られますが、Q1 に戻って意図的に間違った回答をクリックすると、結果を表示するために戻ります。 0/2 ではなく 1/2 が表示されます。つまり、変数に 1 が設定されている場合はそのままになります。を使用すればsetOnclickListener、もう一方を設定できることはわかっていますが、それradioButtons == 0はそれぞれの if ステートメントの中にたくさんあることを意味しますsetonClickListner。これは、別のより簡単な結果を求めているもう 1 つの理由です。

前もって感謝します。

4

1 に答える 1