Android中的空对象引用
我正在努力为电台工作。我有一个ok按钮,当单击该按钮时,可从四个充气单选按钮组中选择一个项目。我的问题是,当用户没有从其中一个组中选择选项时,我有一个空指针异常 这是我的选择代码Android中的空对象引用,android,android-studio,android-layout,android-radiobutton,android-radiogroup,Android,Android Studio,Android Layout,Android Radiobutton,Android Radiogroup,我正在努力为电台工作。我有一个ok按钮,当单击该按钮时,可从四个充气单选按钮组中选择一个项目。我的问题是,当用户没有从其中一个组中选择选项时,我有一个空指针异常 这是我的选择代码 private void getSelectedValuesAdults() { rl=(RelativeLayout)findViewById(R.id.activity_selections); int id1 = ((RadioGroup)findViewById(R.id.KSradioGrp
private void getSelectedValuesAdults()
{
rl=(RelativeLayout)findViewById(R.id.activity_selections);
int id1 = ((RadioGroup)findViewById(R.id.KSradioGrp)).getCheckedRadioButtonId();
int id2 = ((RadioGroup)findViewById(R.id.KTradioGrp)).getCheckedRadioButtonId();
int id3 = ((RadioGroup)findViewById(R.id.KDradioGrp)).getCheckedRadioButtonId();
int id4 = ((RadioGroup)findViewById(R.id.KSoradioGrp)).getCheckedRadioButtonId();
stringChoice[0]= ((RadioButton)findViewById(id1)).getText().toString().contains(generalKid[0].getName())==true?generalKid[0].getName():generalKid[1].getName();
stringChoice[1]= ((RadioButton)findViewById(id2)).getText().toString().contains(generalKid[2].getName())==true?generalKid[2].getName():generalKid[3].getName();
stringChoice[2]= ((RadioButton)findViewById(id3)).getText().toString().contains(generalKid[4].getName())==true?generalKid[4].getName():generalKid[5].getName();
stringChoice[3]= ((RadioButton)findViewById(id4)).getText().toString().contains(generalKid[6].getName())==true?generalKid[6].getName():generalKid[7].getName();
genCost[0]= ((RadioButton)findViewById(id1)).getText().toString().contains(generalKid[0].getName())==true?generalKid[0].getCost()+5:generalKid[1].getCost()+5;
genCost[0]= ((RadioButton)findViewById(id2)).getText().toString().contains(generalKid[2].getName())==true?generalKid[2].getCost()+5:generalKid[3].getCost()+5;
genCost[0]= ((RadioButton)findViewById(id3)).getText().toString().contains(generalKid[4].getName())==true?generalKid[4].getCost()+5:generalKid[5].getCost()+5;
genCost[0]= ((RadioButton)findViewById(id4)).getText().toString().contains(generalKid[6].getName())==true?generalKid[6].getCost()+5:generalKid[7].getCost()+5;
}
Ok按钮跳转到上面的方法。我使用了
if(id1==-1 | | | id2==-1 | | id3==-1 | | id4==-1)callDialogMessage()
在stringChoice[0]
赋值之前,其中callDialogMessage()
是一条消息,让你知道你没有从广播组中选择,但我的应用程序仍然崩溃。我能做什么?单击“确定”按钮“使用单选组获取选定单选按钮Id”,将非常感谢您的帮助。您可以参考以下代码
int selectedId =radioButtonGroup.getCheckedRadioButtonId();;
// find the radiobutton by returned id
RadioButton radioButton = FindViewById<RadioButton>(selectedId);
if(radioButton !=null)
{
//do things here
}
int-selectedId=radioButtonGroup.getCheckedRadioButtonId();;
//通过返回的id查找radiobutton
RadioButton RadioButton=FindViewById(selectedId);
如果(单选按钮!=null)
{
//在这里做事
}
请您的问题提供一个演示问题的示例,并在将所选值存储到id1、id2、id3、id4中之前检查是否(radioGroup.getCheckedRadioButtonId()=-1)