正确获取RadioGroup值的方法

时间:2015-03-09 14:05:38

标签: android android-studio

一个完整的java noob所以我这样做的方法可能是错的,但是我在一个无线电组中获得了一个radiobutton的值,并将它与一个值进行比较,这似乎在很大程度上起作用,但我和#39我有间歇性的崩溃:

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

指向这一行:

String selection = rb.getText().toString();

我有以下java代码:

RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroupAdd);
Integer checkedID = radioGroup.getCheckedRadioButtonId();
RadioButton rb = (RadioButton) findViewById(checkedID);
String selection = rb.getText().toString();
if (selection.equals("Paint")) {
 //Do stuff here
}

有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

如果未选择单选按钮,则

getCheckedRadioButtonId()返回-1。因此,findViewById()将返回null

http://developer.android.com/reference/android/widget/RadioGroup.html#getCheckedRadioButtonId()

您可以使用空指针检查包裹getText()和后续代码,但是对于"有什么更好的方法可以执行此操作?"你的问题没有太多细节可以回答这个问题,反正可能过于宽泛。