我在 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/