0

私のコーディングでは、m には 3 つのボタンがあります。選択したボタンのIDを取得し、比較に使用しました。ただし、ボタンをクリックする前に、最初にデフォルトで選択されたボタンの ID が自動的に表示されます。

rdgp.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                counter++;
                if (counter > 5 || counter >= anarray.size()) {
                    Toast.makeText(testActivity.this, "" + score, 2000).show();
                    Intent intent = new Intent(testActivity.this, Badge.class);
                    intent.putExtra("Score", score);
                    startActivity(intent);
                    return;
                }

                rb1.setText(anarray.get(counter));
                rb2.setText(an1array.get(counter));
                rb3.setText(an2array.get(counter));
                rb4.setText(an3array.get(counter));
                rb5.setText(an4array.get(counter));
                int ans = 0;
                if (checkedId == R.id.radio0) {
                    ans = 1;
                } else if (checkedId == R.id.radio1) {
                    ans = 2;
                } else if (checkedId == R.id.radio2) {
                    ans = 3;
                } else if (checkedId == R.id.radio3) {
                    ans = 4;
                }

                Toast.makeText(testActivity.this, "" + ans, 2000).show();
                if (ans == anarray.get(counter))
                    ;
                {
                    score = score + 1;
                }
            }
        });
4

3 に答える 3

0

すべてのラジオボタンのXMLに次の行を追加します。

 android:checked="false"
于 2012-06-15T06:01:22.793 に答える
0

ラジオ ボタンからデフォルト値を取得している場合は、使用したレイアウト ファイルの天気を確認してください android:checked = "true". これが状態の場合は、false に変更します。

于 2013-01-07T17:15:48.703 に答える
0

チェックされたradiobutton使用のIDを取得するgroup.getCheckedRadioButtonId()には、このグループで選択されたラジオボタンの識別子を返します。空の選択では、戻り値は -1 です。

于 2012-06-15T04:59:36.043 に答える