android如何使用多个开关小部件

问题描述 投票:0回答:1

根据参考资料 ,应该将ToggleButtons和Switches与OnCheckedChangeListener或onToggleClicked(View view)之类的函数一起使用。

但是,两种方法都返回void和内部if语句(即if (on)if (checked)if (isChecked) ,不允许我设置可用变量。 单选按钮也是如此。

我有一个应用程序,我想计算重症监护患者的每日能量需求。 我需要使用多个开关; 所有这些选择器共同影响计算。 一个示例公式为:

1784 +(5 *体重)-(11 *年龄)+(男性为244)+(创伤患者为239)+(烧伤患者为804)

下面是一个包含单个开关的示例。 我没有为所有开关/参数提供我的解决方案,因为这太多了代码:

public double calculateBMI(View view) {
  EditText getHeight = (EditText)findViewById(R.id.height);  // find the widget
  String height_as_string = getHeight.getText().toString();  // get the string
  int height = Integer.parseInt(height_as_string);           // convert to integer    

  Switch gender = (Switch)findViewById(R.id.gender);         // find the switch

  double heightConvertedToInch = height / 2.54;  // convert height to inch
  // calculate ideal body weight        
  if(gender.isChecked()){                        // gender is male
    double idealBodyWeight = 106 + ( 6 * heightConvertedToInch );
    return idealBodyWeight;
  } else {                                       // gender is female
    double idealBodyWeight = 100 + ( 5 * heightConvertedToInch );
    return idealBodyWeight;
  }
}
android togglebutton
1个回答
1
投票

根据参考资料,应该将ToggleButtons和Switchs与OnCheckedChangeListener或onToggleClicked(View view)之类的函数一起使用。

如果您需要根据复合按钮状态的变化立即采取措施,例如启用/禁用其他小部件,则这些事件监听器是事件监听器。 否则不需要它们。

处理这种情况的正确方法是什么?

在每个CompoundButton上调用isChecked() (无论是ToggleButton还是SwitchCheckBox或其他),然后使用该信息“影响计算”。

© www.soinside.com 2019 - 2024. All rights reserved.