bugfix> java > 投稿

ユーザーがクリックしたラジオボタンの数字の合計を計算できるクイズアプリを作りたいです。合計を計算する方法と、ユーザーがボタンをクリックして結果を生成した後、別のレイアウトで結果を表示するにはどうすればよいですか?

質問ページ 結果ページ

質問レイアウトのコード(activity_main.xml)は次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/instruction_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/instruction" />
    // Question 1
    <TextView
        android:id="@+id/question1_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/question1" />
    <RadioGroup
        android:id="@+id/question1_radiogroup"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <RadioButton
                android:id="@+id/question1_radioButton1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="onRadioButtonQuestion1Clicked"
                android:text="1" />
            <RadioButton
                android:id="@+id/question1_radioButton2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="2" />
            <RadioButton
                android:id="@+id/question1_radioButton3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="onRadioButtonQuestion1Clicked"
                android:text="3" />
            <RadioButton
                android:id="@+id/question1_radioButton4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="onRadioButtonQuestion1Clicked"
                android:text="4" />
            <RadioButton
                android:id="@+id/question1_radioButton5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="onRadioButtonQuestion1Clicked"
                android:text="5" />
            <RadioButton
                android:id="@+id/question1_radioButton6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="onRadioButtonQuestion1Clicked"
                android:text="6" />
        <RadioButton
            android:id="@+id/question1_radioButton7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion1Clicked"
            android:text="7" />
    </LinearLayout>
</RadioGroup>
// Question 2
<TextView
    android:id="@+id/question2_text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/question2" />
<RadioGroup
    android:id="@+id/question2_radiogroup"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <RadioButton
            android:id="@+id/question2_radioButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion2Clicked"
            android:text="1" />
        <RadioButton
            android:id="@+id/question2_radioButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion2Clicked"
            android:text="2" />
        <RadioButton
            android:id="@+id/question2_radioButton3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion2Clicked"
            android:text="3" />
        <RadioButton
            android:id="@+id/question2_radioButton4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion2Clicked"
            android:text="4" />
        <RadioButton
            android:id="@+id/question2_radioButton5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion2Clicked"
            android:text="5" />
        <RadioButton
            android:id="@+id/question2_radioButton6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion2Clicked"
            android:text="6" />
        <RadioButton
            android:id="@+id/question2_radioButton7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion2Clicked"
            android:text="7" />
    </LinearLayout>
</RadioGroup>
// Question 3
<TextView
    android:id="@+id/question3_text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/question3" />
<RadioGroup
    android:id="@+id/question3_radiogroup"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <RadioButton
            android:id="@+id/question3_radioButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion3Clicked"
            android:text="1" />
        <RadioButton
            android:id="@+id/question3_radioButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion3Clicked"
            android:text="2" />
        <RadioButton
            android:id="@+id/question3_radioButton3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion3Clicked"
            android:text="3" />
        <RadioButton
            android:id="@+id/question3_radioButton4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion3Clicked"
            android:text="4" />
        <RadioButton
            android:id="@+id/question3_radioButton5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion3Clicked"
            android:text="5" />
        <RadioButton
            android:id="@+id/question3_radioButton6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion3Clicked"
            android:text="6" />
        <RadioButton
            android:id="@+id/question3_radioButton7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion3Clicked"
            android:text="7" />
    </LinearLayout>
</RadioGroup>
// Question 4
<TextView
    android:id="@+id/question4_text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/question4" />
<RadioGroup
    android:id="@+id/question4_radiogroup"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <RadioButton
            android:id="@+id/question4_radioButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion4Clicked"
            android:text="1" />
        <RadioButton
            android:id="@+id/question4_radioButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion4Clicked"
            android:text="2" />
        <RadioButton
            android:id="@+id/question4_radioButton3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion4Clicked"
            android:text="3" />
        <RadioButton
            android:id="@+id/question4_radioButton4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion4Clicked"
            android:text="4" />
        <RadioButton
            android:id="@+id/question4_radioButton5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion4Clicked"
            android:text="5" />
        <RadioButton
            android:id="@+id/question4_radioButton6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion4Clicked"
            android:text="6" />
        <RadioButton
            android:id="@+id/question4_radioButton7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="7" />
    </LinearLayout>
</RadioGroup>
// Question 5
<TextView
    android:id="@+id/question5_text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/question5" />
<RadioGroup
    android:id="@+id/question5_radiogroup"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <RadioButton
            android:id="@+id/question5_radioButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion5Clicked"
            android:text="1" />
        <RadioButton
            android:id="@+id/question5_radioButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion5Clicked"
            android:text="2" />
        <RadioButton
            android:id="@+id/question5_radioButton3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion5Clicked"
            android:text="3" />
        <RadioButton
            android:id="@+id/question5_radioButton4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion5Clicked"
            android:text="4" />
        <RadioButton
            android:id="@+id/question5_radioButton5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion5Clicked"
            android:text="5" />
        <RadioButton
            android:id="@+id/question5_radioButton6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion5Clicked"
            android:text="6" />
        <RadioButton
            android:id="@+id/question5_radioButton7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="onRadioButtonQuestion5Clicked"
            android:text="7" />
    </LinearLayout>
</RadioGroup>
<Button
    android:id="@+id/jana_keputusan_button"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Jana Keputusan" />
</LinearLayout>

質問アクティビティ(MainActivity.java)のコードは次のとおりです。

package com.android.resilien.resilienminver;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
public class MainActivity extends AppCompatActivity {
public int score = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final Button generate_result_button = findViewById(R.id.jana_keputusan_button);
    generate_result_button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent generate_result_intent = new Intent(MainActivity.this, ResultActivity.class);
            startActivity(generate_result_intent);
        }
    });
}
// Question 1 Radio Button clicked
public void onRadioButtonQuestion1Clicked(View view) {
    // Is the button checked?
    boolean checked = ((RadioButton) view).isChecked();
    // Check which radio button was clicked
    switch(view.getId()) {
        case R.id.question1_radioButton1:
            if(checked) {score = score + 1;}
            break;
        case R.id.question1_radioButton2:
            if(checked) {score = score + 2;}
            break;
        case R.id.question1_radioButton3:
            if(checked) {score = score + 3;}
            break;
        case R.id.question1_radioButton4:
            if(checked) {score = score + 4;}
            break;
        case R.id.question1_radioButton5:
            if(checked) {score = score + 5;}
            break;
        case R.id.question1_radioButton6:
            if(checked) {score = score + 6;}
            break;
        case R.id.question1_radioButton7:
            if(checked) {score = score + 7;}
            break;
    }
}
// Question 2 Radio Button clicked
public void onRadioButtonQuestion2Clicked(View view) {
    // Is the button checked?
    boolean checked = ((RadioButton) view).isChecked();
    // Check which radio button was clicked
    switch(view.getId()) {
        case R.id.question2_radioButton1:
            if(checked) {score = score + 1;}
            break;
        case R.id.question2_radioButton2:
            if(checked) {score = score + 2;}
            break;
        case R.id.question2_radioButton3:
            if(checked) {score = score + 3;}
            break;
        case R.id.question2_radioButton4:
            if(checked) {score = score + 4;}
            break;
        case R.id.question2_radioButton5:
            if(checked) {score = score + 5;}
            break;
        case R.id.question2_radioButton6:
            if(checked) {score = score + 6;}
            break;
        case R.id.question2_radioButton7:
            if(checked) {score = score + 7;}
            break;
    }
}
// Question 3 Radio Button clicked
public void onRadioButtonQuestion3Clicked(View view) {
    // Is the button checked?
    boolean checked = ((RadioButton) view).isChecked();
    // Check which radio button was clicked
    switch(view.getId()) {
        case R.id.question3_radioButton1:
            if(checked) {score = score + 1;}
            break;
        case R.id.question3_radioButton2:
            if(checked) {score = score + 2;}
            break;
        case R.id.question3_radioButton3:
            if(checked) {score = score + 3;}
            break;
        case R.id.question3_radioButton4:
            if(checked) {score = score + 4;}
            break;
        case R.id.question3_radioButton5:
            if(checked) {score = score + 5;}
            break;
        case R.id.question3_radioButton6:
            if(checked) {score = score + 6;}
            break;
        case R.id.question3_radioButton7:
            if(checked) {score = score + 7;}
            break;
    }
}
// Question 4 Radio Button clicked
public void onRadioButtonQuestion4Clicked(View view) {
    // Is the button checked?
    boolean checked = ((RadioButton) view).isChecked();
    // Check which radio button was clicked
    switch(view.getId()) {
        case R.id.question4_radioButton1:
            if(checked) {score = score + 1;}
            break;
        case R.id.question4_radioButton2:
            if(checked) {score = score + 2;}
            break;
        case R.id.question4_radioButton3:
            if(checked) {score = score + 3;}
            break;
        case R.id.question4_radioButton4:
            if(checked) {score = score + 4;}
            break;
        case R.id.question4_radioButton5:
            if(checked) {score = score + 5;}
            break;
        case R.id.question4_radioButton6:
            if(checked) {score = score + 6;}
            break;
        case R.id.question4_radioButton7:
            if(checked) {score = score + 7;}
            break;
    }
}
// Question 5 Radio Button clicked
public void onRadioButtonQuestion5Clicked(View view) {
    // Is the button checked?
    boolean checked = ((RadioButton) view).isChecked();
    // Check which radio button was clicked
    switch(view.getId()) {
        case R.id.question5_radioButton1:
            if(checked) {score = score + 1;}
            break;
        case R.id.question5_radioButton2:
            if(checked) {score = score + 2;}
            break;
        case R.id.question5_radioButton3:
            if(checked) {score = score + 3;}
            break;
        case R.id.question5_radioButton4:
            if(checked) {score = score + 4;}
            break;
        case R.id.question5_radioButton5:
            if(checked) {score = score + 5;}
            break;
        case R.id.question5_radioButton6:
            if(checked) {score = score + 6;}
            break;
        case R.id.question5_radioButton7:
            if(checked) {score = score + 7;}
            break;
    }
}

}

回答 3 件
  • 別のアクティビティに移動し、INTENTで結果を表示できます。 putExtraを使用して、スコアを別のアクティビティに渡すことができます。

    主な活動:

    okAction.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {   
            Intent intent = new Intent(MainActivity.this, AnotherActivity.class);   
            intent.putExtra("Score", score);
            startActivity(intent);
        }
    });
    
    

    別のアクティビティ:

    Intent intent = getIntent();
    Bundle bundle = intent.getExtras();
    if(bundle != null){
       int score = bundle.getInt("Score");
       restltText.setText("Your score is: "+ score);
    }
    
    

  • まず、すべての RadioButtons のクリック方法をまとめることを強くお勧めします  単一の方法、例えば onRadioAction

    レイアウト:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <TextView
            android:id="@+id/instruction_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/instruction" />
        // Question 1
        <TextView
            android:id="@+id/question1_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/question1" />
        <RadioGroup
            android:id="@+id/question1_radiogroup"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">
                <RadioButton
                    android:id="@+id/question1_radioButton1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:onClick="radioButtonAction"
                    android:text="1" />
                <RadioButton
                    android:id="@+id/question1_radioButton2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="2" />
                <RadioButton
                    android:id="@+id/question1_radioButton3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:onClick="radioButtonAction"
                    android:text="3" />
                <RadioButton
                    android:id="@+id/question1_radioButton4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:onClick="radioButtonAction"
                    android:text="4" />
                <RadioButton
                    android:id="@+id/question1_radioButton5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:onClick="radioButtonAction"
                    android:text="5" />
                <RadioButton
                    android:id="@+id/question1_radioButton6"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:onClick="radioButtonAction"
                    android:text="6" />
            <RadioButton
                android:id="@+id/question1_radioButton7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="7" />
        </LinearLayout>
    </RadioGroup>
    // Question 2
    <TextView
        android:id="@+id/question2_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/question2" />
    <RadioGroup
        android:id="@+id/question2_radiogroup"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <RadioButton
                android:id="@+id/question2_radioButton1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="1" />
            <RadioButton
                android:id="@+id/question2_radioButton2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="2" />
            <RadioButton
                android:id="@+id/question2_radioButton3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="3" />
            <RadioButton
                android:id="@+id/question2_radioButton4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="4" />
            <RadioButton
                android:id="@+id/question2_radioButton5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="5" />
            <RadioButton
                android:id="@+id/question2_radioButton6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="6" />
            <RadioButton
                android:id="@+id/question2_radioButton7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="7" />
        </LinearLayout>
    </RadioGroup>
    // Question 3
    <TextView
        android:id="@+id/question3_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/question3" />
    <RadioGroup
        android:id="@+id/question3_radiogroup"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <RadioButton
                android:id="@+id/question3_radioButton1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="1" />
            <RadioButton
                android:id="@+id/question3_radioButton2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="2" />
            <RadioButton
                android:id="@+id/question3_radioButton3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="3" />
            <RadioButton
                android:id="@+id/question3_radioButton4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="4" />
            <RadioButton
                android:id="@+id/question3_radioButton5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="5" />
            <RadioButton
                android:id="@+id/question3_radioButton6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="6" />
            <RadioButton
                android:id="@+id/question3_radioButton7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="7" />
        </LinearLayout>
    </RadioGroup>
    // Question 4
    <TextView
        android:id="@+id/question4_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/question4" />
    <RadioGroup
        android:id="@+id/question4_radiogroup"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <RadioButton
                android:id="@+id/question4_radioButton1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="1" />
            <RadioButton
                android:id="@+id/question4_radioButton2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="2" />
            <RadioButton
                android:id="@+id/question4_radioButton3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="3" />
            <RadioButton
                android:id="@+id/question4_radioButton4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="4" />
            <RadioButton
                android:id="@+id/question4_radioButton5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="5" />
            <RadioButton
                android:id="@+id/question4_radioButton6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="6" />
            <RadioButton
                android:id="@+id/question4_radioButton7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="7" />
        </LinearLayout>
    </RadioGroup>
    // Question 5
    <TextView
        android:id="@+id/question5_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/question5" />
    <RadioGroup
        android:id="@+id/question5_radiogroup"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <RadioButton
                android:id="@+id/question5_radioButton1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="1" />
            <RadioButton
                android:id="@+id/question5_radioButton2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="2" />
            <RadioButton
                android:id="@+id/question5_radioButton3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="3" />
            <RadioButton
                android:id="@+id/question5_radioButton4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="4" />
            <RadioButton
                android:id="@+id/question5_radioButton5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="5" />
            <RadioButton
                android:id="@+id/question5_radioButton6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="6" />
            <RadioButton
                android:id="@+id/question5_radioButton7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:onClick="radioButtonAction"
                android:text="7" />
        </LinearLayout>
    </RadioGroup>
    <Button
        android:id="@+id/jana_keputusan_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Jana Keputusan" />
    </LinearLayout>
    
    

    アクティビティ:

    package com.android.resilien.resilienminver;
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.RadioButton;
    public class MainActivity extends AppCompatActivity {
    public int score = 0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Button generate_result_button = findViewById(R.id.jana_keputusan_button);
        generate_result_button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent generate_result_intent = new Intent(MainActivity.this, ResultActivity.class);
                startActivity(generate_result_intent);
            }
        });
    }
    
    public void radioButtonAction(View view) {
        // Is the button checked?
        boolean checked = ((RadioButton) view).isChecked();
        // Check which radio button was clicked
        switch(view.getId()) {
            case R.id.question5_radioButton1:
                if(checked) {score = score + 1;}
                break;
            case R.id.question5_radioButton2:
                if(checked) {score = score + 2;}
                break;
            case R.id.question5_radioButton3:
                if(checked) {score = score + 3;}
                break;
            case R.id.question5_radioButton4:
                if(checked) {score = score + 4;}
                break;
            case R.id.question5_radioButton5:
                if(checked) {score = score + 5;}
                break;
            case R.id.question5_radioButton6:
                if(checked) {score = score + 6;}
                break;
            case R.id.question5_radioButton7:
                if(checked) {score = score + 7;}
                break;
        }
    }
    
    

    アプリを拡張するには、ハードコードされたレイアウトxmlとしてではなく、ソースコードで質問のレイアウトを動的に生成することもお勧めします。

    最後に、結果を表示します。 Button を追加  一番下に以下のコードを設定して、達成されたスコアのダイアログを表示します。別の方法として、新しい Activty を開始することもできます   Intent 経由で表示します  および Bundle

       private onClieckedButtonResult(View v) {        
        AlertDialog alertDialog = new AlertDialog.Builder(this)
            //set icon 
             .setIcon(android.R.drawable.ic_dialog_alert)
            //set title
            .setTitle("Your score")
            //set message
            .setMessage("You achieved a score of " + String.valueOf(score) + "!")
            //set positive button
            .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
               //Call finish to close your app   
                    finish();
                }
            })
            .show();
    }
    
    

    代替案:
    別の Activity でスコアを表示する
    Intent を作成する  他の Activity のために  そして、インテントにスコアの値を保存します:

    @Override
     protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Button generate_result_button = findViewById(R.id.jana_keputusan_button);
        generate_result_button.setOnClickListener(new View.OnClickListener() {
           public void onClick(View v) {
             Intent generate_result_intent = new Intent(MainActivity.this, ResultActivity.class);
             Bundle extras = generate_result_intent.getExtras();
             extras.putExtra("SCORE", score);  
             startActivity(generate_result_intent);
           }
        });
    
    

    }

    そして、あなたの他の Activity で  渡されたスコアの値を読み取り、ユーザーに表示できます。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_other);
        Intent mIntent = getIntent();
        if (i.hasExtra("SCORE")) {
           int score = mIntent.getIntExtra("SCORE", 0);
           // Do something to display the score
        }
    }
    
    

    最後に、ユーザーが RadioButton を複数回クリックして自分のスコアを上げることができることに注意してください 。スコアリングが無効になるため、アプリケーションロジックで対処する必要があります。

  • RadioButton からテキストを取得するには  以下を使用することを提案します。

    int indexOfButton = radioGroup.indexOfChild(findViewById(radioGroup.getCheckedRadioButtonId()));
    String scoreS = (indexOfButton > -1)? ((RadioButton) radioGroup.getChildAt(indexOfButton)).getText().toString() : "";
    score += Integer.parseInt(scoreS);
    
    

    このメソッドは RadioButton をチェックしています  idとそれによって、そのグループ内のインデックスを見つけます。インデックスによって RadioButton を取得できます  テキスト。

    他のアクティビティでスコアを表示するには、データを送信することができます Intent  エキストラ。このような:

    Intent intent = new Intent(MainActivity.this, ResultActivity.class);
    intent.putExtra("result", score);
    startActivity(intent);
    
    

    ResultActivity.class について  次のようなエキストラからスコアを取得できます。

    Integer result = 0;
    Intent i = getIntent();
    if (i.hasExtra("result")) {
        result = i.getIntExtra("result");
    }
    
    

    次に、それを TextView で表示できます  または他の可能な方法で。

    何かわからないことがあれば、遠慮なく聞いてください。
    私はそれがあなたを助けることを願っています...

あなたの答え