Android理想体重Java应用如何添加性别RadioButton选中判断逻辑
实现性别切换理想体重计算的修改方案
1. 调整activity_main.xml配置
给两个RadioButton添加点击事件绑定属性android:onClick="onRadioButtonClicked",修改后完整RadioGroup代码如下:
<RadioGroup android:id="@+id/rgSexo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <RadioButton android:id="@+id/rbMasculino" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:onClick="onRadioButtonClicked" android:text="Masculino" /> <RadioButton android:id="@+id/rbFeminino" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onRadioButtonClicked" android:text="Feminino" /> </RadioGroup>
2. 调整MainActivity.java逻辑
2.1 新增性别状态成员变量
在类的顶部添加性别标识变量,默认匹配布局里男性选中的状态:
public class MainActivity extends AppCompatActivity { double altura; double resp; // 新增:性别标识,true为男性,false为女性 private boolean isMale = true; // 原有onCreate等代码保持不变 ... }
2.2 插入修正后的RadioButton判断方法
将待插入代码修正控件id后,作为类方法插入到MainActivity中(可放在onCreate方法外任意位置):
public void onRadioButtonClicked(View v) { boolean checked = ((RadioButton) v).isChecked(); switch(v.getId()){ case R.id.rbMasculino: if(checked) isMale = true; break; case R.id.rbFeminino: if(checked) isMale = false; break; } }
2.3 修改计算方法适配性别规则
修改原有calcIMC方法,根据性别状态调用对应公式:
// 修正后的理想体重计算方法 private double calcIMC(double altura){ double resp; if(isMale) { resp = (72.7 * altura) - 58; } else { resp = (62.1 * altura) - 44.7; } return resp; }
原有计算按钮的点击逻辑无需修改,运行后切换性别点击计算按钮即可自动匹配对应公式输出结果。
内容的提问来源于stack exchange,提问作者David Marinho
相关产品推荐
相关产品推荐

