尝试将值设置为RadioButton
的变量时,我一直收到错误消息。错误如下:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.aquino.myapp3, PID: 17484
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.CharSequence android.widget.RadioButton.getText()' on a null object reference
at com.example.aquino.myapp3.activities.MainActivity.postDataToSQLite(MainActivity.java:114)
at com.example.aquino.myapp3.activities.MainActivity.onClick(MainActivity.java:92)
at android.view.View.performClick(View.java:4780)
logcat指示错误的行似乎是这样的:
measurement.setBodyPlace(radioButton.getText().toString());
我已初步化了观点:
RadioGroup radioGroup = (RadioGroup)findViewById(R.id.radioGroup);
RadioButton radioButton = (RadioButton)findViewById(radioGroup.getCheckedRadioButtonId());
measurement
是Measurement
类的实例化,如下所示:
public class Measurement{
private String rbBodyPlace;
public void setBodyPlace(String rbBodyPlace){
this.rbBodyPlace = rbBodyPlace;
}
}
欢迎任何帮助,谢谢!
答案 0 :(得分:0)
您尚未初始化单选按钮。
编辑(感谢@Tura):在Activity中的onCreate()中尝试这个:
radioButton = findViewById(R.id.radio_button);
使用xml文件中描述的ID填充id部分。
答案 1 :(得分:0)
该错误是因为同时初始化RadioGroup和RadioButton(也是选择的id),即在用户选择任何单选按钮之前。这就是android系统返回null值的原因。为了解决这个错误,我先做了RadioGroup的初始化,然后我在用户点击/做了一些动作后才初始化了RadioButton。