一个完整的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
}
有更好的方法吗?
答案 0 :(得分:2)
getCheckedRadioButtonId()
返回-1。因此,findViewById()
将返回null
。
http://developer.android.com/reference/android/widget/RadioGroup.html#getCheckedRadioButtonId()
您可以使用空指针检查包裹getText()
和后续代码,但是对于"有什么更好的方法可以执行此操作?"你的问题没有太多细节可以回答这个问题,反正可能过于宽泛。