【问题标题】:How to initialize a view in an Android Method?如何在 Android 方法中初始化视图?
【发布时间】:2015-03-22 19:12:08
【问题描述】:

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

    }
}

【问题讨论】:

  • 点击方法应包含查看计算卡路里(查看视图),您可以传递到 onradioclikedbutton

标签: java android methods views android-view


【解决方案1】:

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

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

然后添加监听器:

cb.addOnCheckChanged(this);

并在您的 Java 类中实现 onCheckChanged。

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

【讨论】:

    猜你喜欢
    • 2017-03-21
    • 2016-11-23
    • 2017-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-02
    相关资源
    最近更新 更多