Java 如何从不同的活动中获取RadioGroup的价值
我在Android Studio中制作健身应用程序,我的项目集有多个活动6。我试图从第六个活动中的第三个活动中得到放射组的值。但是,当我尝试执行此操作时,会出现以下错误:Java 如何从不同的活动中获取RadioGroup的价值,java,radio-group,Java,Radio Group,我在Android Studio中制作健身应用程序,我的项目集有多个活动6。我试图从第六个活动中的第三个活动中得到放射组的值。但是,当我尝试执行此操作时,会出现以下错误: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.widget.RadioGroup.getCheckedRadioButtonId()' on a null object reference 我已
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.widget.RadioGroup.getCheckedRadioButtonId()' on a null object reference
我已经确保xml代码中变量的所有名称都是正确的,并且仍然遇到相同的问题
SixthActivity.java
我希望在第六个活动中,能够从第三个活动中的第三个组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
由于第三个活动已暂停,因此您将获得空指针异常。第三个活动暂停,因为第六个活动正在运行。从ThirdActivity获取数据的一种方法是在它们之间导航时将它们作为额外的意图值传递。 例如Java,您可以在第三个活动上执行此操作
Intent intent = new Intent(ThirdActivity .this, SixthActivity.class);
intent.putExtra("Experience",experience.getText());
startActivity(intent);
在第六个活动中,您会收到如下数据:
Intent intent=getIntent();
String experience =intent.getStringExtra("Experience");
在活动之间传递值的一种方法是在负责新活动的意图上使用putExtra
intent.putExtra("NAME", value)
getIntent().getIntExtra("NAME")
getIntent().getStringExtra("NAME")
然后,您可以通过调用新活动上的getExtra来访问该值
intent.putExtra("NAME", value)
getIntent().getIntExtra("NAME")
getIntent().getStringExtra("NAME")
我是否需要在ThirdaActivity中将radiogroup值作为意图传递?是的,这是一种方法。@Kars您能提供一些关于如何传递的伪代码吗?如果能提供一个伪代码示例,我们将不胜感激。@bensadiku谢谢你,伪代码帮助很大。但是,我在intent.putExtraExperience,experience.getText;行中遇到了一个错误;。错误状态为:java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“java.lang.CharSequence android.widget.RadioButton.getText”。在这一行中,您在ThirdActivity.java中声明了experience.getText,但我在第六个活动中创建了experience按钮。我现在要在第三个活动中创建“体验”按钮吗?我这样做了,收到了上面的错误。以及