如何从不同的活动中获取RadioGroup的价值

时间:2019-03-28 03:06:57

标签: java android

我正在使用Android Studio创建Fitness应用程序。在此应用程序中,我有多个活动(6)。在我的SixthActivity中,我希望能够从ThirdActivity中的单选组中获取所选的单选按钮。但是,当我这样做时,该值为空(“”),而不是用户在ThirdActivity中选择的选项。

我尝试使用单选按钮,但是它也不起作用。

//Third Activity.java 

thirdRadioGroup = findViewById(R.id.thirdRadioGroup);

    int radioIdExperience = thirdRadioGroup.getCheckedRadioButtonId();
    //experience = (RadioButton) findViewById(radioIdExperience);


    Intent intent = new Intent(this, SixthActivity.class);
    intent.putExtra("Experience", radioIdExperience);
    //startActivity(intent);



//SixthActivity.java


    Intent intent=getIntent();
    String experience =intent.getStringExtra("Experience");



         sixthTextView.setText(experience);

我希望根据用户在ThirdActivity radioGroup中所做的选择来填充SixthActivity中的文本视图。例如,RadioGroup中的三个选择是:

0 -6个月 6-12个月 1年以上

根据用户在ThirdActivity中选择的选择,我希望它显示在SixthActivity的文本视图中。

2 个答案:

答案 0 :(得分:1)

问题:

根据您的代码。您正在将Integer值发送给SixthActivity并保存为String变量

第三活动

int radioIdExperience = thirdRadioGroup.getCheckedRadioButtonId();

SixthActivity

字符串经验= intent.getStringExtra(“ Experience”);

解决方案: 确保发送正确的值,并在发送之前先在THirdActivity上进行检查。 然后在SixthActivity上检查发送的值

希望这会有所帮助...

答案 1 :(得分:0)

您可以创建一个静态公共类,将整数数组作为数据成员,并在随后的每个startActivity()之后继续填充该数组。最后在您的第六个活动中访问该数组