如何在Android方法中初始化视图?

时间:2015-03-22 19:12:09

标签: java android methods views android-view

我正在开发一款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;

    }
}

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您的Java代码不知道哪些活动视图是您的复选框,那就是您收到错误的原因。 初始化视图的常见做法是在onCreate方法中编写此行:

CheckBox cb = (CheckBox) findViewById(R.id.yourcheckboxname);

然后添加监听器:

cb.addOnCheckChanged(this);

并在Java类中实现onCheckChanged。

您不需要手动调用onCheckChanged() - 每次用户检查或取消选中复选框时都会自动触发