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 つの理由です。
前もって感謝します。