0

各回答が合計スコアに特定のポイント数を追加するクイズを設定しようとしています。現時点では、ラジオボタンが気になります。ラジオグループを設定しました。選択したラジオボタンを合計スコアに追加したいと思います。これは私のプログラムのほんの一部です。

xmlレイアウトファイルの下部にあるボタンを押すと、ラジオボタンに関連付けられたスコアが合計スコアに追加されます。わかりますか?

実際のxmlレイアウトファイルのクラスファイルは次のとおりです。

Public class QuestionOne extends Results {

    RadioButton answer1, answer2, answer3;
    Button oneNext;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.one);

        RadioButton answer1 = (RadioButton) findViewById(R.id.oneradio1);
        RadioButton answer2 = (RadioButton) findViewById(R.id.oneradio2);
        RadioButton answer3 = (RadioButton) findViewById(R.id.oneradio3);

        Button oneNext = (Button) findViewById(R.id.onenext);


    }

}

これはResultsクラスを拡張し、スコア整数を継承するようにこれを行いました。スコアクラスは次のとおりです。

public class Results extends Activity {

    private int score;

    public int getScore() {
        return score;
    }

    public Results(int score) {
        this.score = score;
    }

}

私はグーグルからその構造を得ました、そしてその妥当性は確かに疑わしいです、しかし私は基本的な考えを持っていると思います。誰かが私を助けることができますか?

4

1 に答える 1

1

個々のRadioButtonを宣言する代わりに、RadioGroupを宣言します。

answerGroup = (RadioGroup) findViewById(R.id.radioGroupAnswer);

RadioGroupで選択されたボタンのインデックスを取得できます。

int index = answerGroup.indexOfChild(findViewById(answerGroup.getCheckedRadioButtonId()));

次に、このインデックス値を使用して、合計スコアにスコアを追加できます。

switch(index)
{
case 0 : totalScore = totalScore + x; // x is the score of the first answer
break;
case 1 : totalScore = totalScore + y; // y is the score of the second answer
break;
case 2 : totalScore = totalScore + z; // z is the score of the third answer
break;
}
于 2012-09-03T18:40:46.447 に答える