java - 如何从不同的 Activity 中获取RadioGroup的值

标签 java radio-group

我在 Android Studio 中制作健身应用程序,我的项目有多个 Activity (6)。我正在尝试从 SixthActivity 中的 ThirdActivity 获取 radio 组的值。但是,当我尝试执行此操作时,出现错误:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.widget.RadioGroup.getCheckedRadioButtonId()' on a null object reference

我已经确保 xml 代码中变量的所有名称都是正确的,但仍然遇到同样的问题。

SixthActivity.java

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

我希望能够在处于 SixthActivity 中时从 ThirdActivity 中的thirdRadioGroup RadioGroup 获取值。

新代码:

//ThirdActivity.class

 thirdRadioGroup = findViewById(R.id.thirdRadioGroup);
 int radioIdExperience = thirdRadioGroup.getCheckedRadioButtonId();
 experience = (RadioButton) findViewById(radioIdExperience);
 Intent intent = new Intent(this, SixthActivity.class);
 intent.putExtra("Experience", experience.getText());
 startActivity(intent);

现在,再次抛出 NullPointerException ..

error: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.CharSequence android.widget.RadioButton.getText()' on a null object reference

最佳答案

由于 ThirdActivity 已暂停,您将收到空指针异常。 ThirdActivity 已暂停,因为您正在运行第六个 Activity。从 ThirdActivity 获取数据的一种方法是在它们之间导航时将它们作为额外的意图值传递。 示例 Java,您在 ThirdActivity 上执行此操作

Intent intent = new Intent(ThirdActivity .this, SixthActivity.class);
intent.putExtra("Experience",experience.getText());
startActivity(intent);

在第六次 Activity 中,您会收到如下数据:

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

关于java - 如何从不同的 Activity 中获取RadioGroup的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55387471/

相关文章:

java - bundle 并放置额外

java - 参数与字段

java - 使用枚举与 boolean 值?

java - 即使没有选中子项,RadioGroup.getCheckedRadioButtonId() 也不会返回 -1

java - 使用字符串数组中的 RadioButtons 填充 RadioGroup

java - getAbsolutePath 忽略某些文件夹

java - Jackson 在反序列化过程中对属性进行动态过滤

extjs4 radioGroup 设置只读

struts2 - 在 displaytag 中使用 Struts2 radio

extjs - ExtJS 编辑器网格/网格中的单选组