Во-первых, вы можете значительно упростить свою логику switch
:
Integer score1;
public void onCheckedChanged(RadioGroup group, int rb1) {
score1 = (rb1 == R.id.radioButton4) ? 1 : 0;
}
Во-вторых, существует несколько различных способов передачи score1
из одного занятия в другое.Например, когда вы создаете Intent
для второго действия, вы можете использовать putExtra()
для хранения значения счета, а затем второе действие может использовать getExtra()
для чтения значения при его запуске.
Или вы можете использовать любой из нескольких быстрых, но сомнительных хаков, таких как создание поля score1
public static
, передача его через системные свойства или запись в согласованный файл.местоположение или сохранение его в согласованном поле в базе данных (эти хаки работают только в том случае, если для каждого устройства существует только один экземпляр вашей активности и действительно вообще не рекомендуются).
Действительно, хотя выследует просто придерживаться getExtra()
и putExtra()
.По линиям:
//in QuestionActivity
private Integer score1;
//...
public void onCheckedChanged(RadioGroup group, int rb1) {
score1 = (rb1 == R.id.radioButton4) ? 1 : 0;
Intent resultIntent = new Intent(this, ResultActivity.class);
resultIntent.putExtra("score1", score1);
startActivity(resultIntent);
}
//in ResultActivity
private Integer score1;
//...
@Override
protected void onStart() {
score1 = this.getIntent().getExtras().getInt("score1");
super.onStart();
}