android - Android中的空对象引用
问题描述
我正在尝试在广播组工作。我有一个ok按钮,单击该按钮时会从四个膨胀的单选按钮组中选择一项。我的问题是,当用户没有从其中一个组中选择一个选项时,我有一个空指针异常。
这是我的选择代码
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 按钮跳转到上面的方法。我在分配到whereif(id1==-1||id2==-1||id3==-1||id4==-1) callDialogMessage()
之前使用了一条消息,让您知道您尚未从广播组中选择,但我的应用程序仍然崩溃。我能做些什么?任何帮助将不胜感激stringChoice[0]
callDialogMessage()
解决方案
On click of OK button get selected radio button Id using radio group .You can refer the below code.
int selectedId =radioButtonGroup.getCheckedRadioButtonId();;
// find the radiobutton by returned id
RadioButton radioButton = FindViewById<RadioButton>(selectedId);
if(radioButton !=null)
{
//do things here
}
推荐阅读
- php - 如何在 PHP 中禁止 file_get_contents() 的本地 URL?
- internet-explorer-11 - Internet Explorer 上的 aria labelledby
- python - 如何在我正在制作的网站上使用谷歌课堂 API 来访问特定的花名册并将他们放在网站上显示的列表中?
- webrtc - 用于高带宽应用的 WebRTC 数据通道
- javascript - 如何重置过滤器列表搜索框?
- oauth - 使用 Keycloak 和 .NET 核心的基于角色的授权
- html - 为什么具有相同字体大小、行高、填充和高度的文本区域和输入文本垂直对齐方式不同?
- axios - 使用多个请求刷新访问令牌
- angular - 找不到具有未指定名称的控件、动态表单数组
- powerbi - 如何根据用户选择计算列的不同计数?