我正在开发一款Android应用程序,它将测量一个人的身高和体重,并根据性别和年龄计算其BMI和所需卡路里。
当我按下计算按钮时,应该激活onClick方法,因此在第一种方法的实现中调用了另一种方法。 问题是他们要求我初始化视图,我不知道它们是什么意思以及在这种情况下如何初始化。
这是我的java代码:
public void calculateCalories()//this is the onClick method
{
View view;
onRadioButtonClicked(view); // here I get the error
}
public void onRadioButtonClicked(View view)
{
boolean checked=((RadioButton) view).isChecked();
switch (view.getId())
{
case R.id.male:
if (checked)
male_calories();
break;
case R.id.female:
if (checked)
female_calories();
break;
}
}
答案 0 :(得分:0)
如果我理解正确,您的Java代码不知道哪些活动视图是您的复选框,那就是您收到错误的原因。 初始化视图的常见做法是在onCreate方法中编写此行:
CheckBox cb = (CheckBox) findViewById(R.id.yourcheckboxname);
然后添加监听器:
cb.addOnCheckChanged(this);
并在Java类中实现onCheckChanged。
您不需要手动调用onCheckChanged() - 每次用户检查或取消选中复选框时都会自动触发