我正在使用一个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;
}
}
最佳答案
如果我正确理解您的Java代码,则不知道您的活动视图是您的复选框,这就是为什么您会收到错误消息。
初始化视图的通常做法是在onCreate方法中编写以下行:
CheckBox cb = (CheckBox) findViewById(R.id.yourcheckboxname);
然后添加侦听器:
cb.addOnCheckChanged(this);
并在您的Java类中实现onCheckChanged。
而且您不需要手动调用onCheckChanged()-每当用户选中或取消选中复选框时,它就会自动触发