【问题标题】:How to get RadioGroup value from different Activity如何从不同的活动中获取 RadioGroup 值
【发布时间】:2019-08-18 18:00:30
【问题描述】:

我正在使用 Android Studio 创建一个健身应用程序。在这个应用程序中,我有多个活动 (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 的文本视图中。

【问题讨论】:

  • 每个部分的执行位置并不明显。在您想要创建和启动第六个活动的意图并将值放入其中之前,您应该调用getCheckedRadioButtonId

标签: java android


【解决方案1】:

问题:

根据您的代码。您正在向 SixthActivity 发送一个整数值并保存在字符串变量中

第三活动

int radioIdExperience = thirdRadioGroup.getCheckedRadioButtonId();

第六活动

String体验=intent.getStringExtra("Experience");

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      变化:

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

      到:

      String experience = String.valueOf(intent.getIntExtra("Experience"));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多