java - 如何在 Android 方法中初始化 View ?

标签 java android methods view android-view

我正在开发一个 Android 应用程序,该应用程序将获取一个人的高度和体重,并根据性别和年龄计算其 BMI 和所需卡路里。

当我按下计算按钮时,应该激活 onClick 方法,因此在第一个方法的实现中调用了另一个方法。 问题是他们要求我初始化 View ,但我不知道他们的意思以及在这种情况下如何初始化。

这是我的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 代码不知道哪个 Activity View 是您的复选框,这就是您收到错误的原因。 初始化 View 的常见做法是在 onCreate 方法中编写以下行:

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

然后添加监听器:

cb.addOnCheckChanged(this);

并在您的 Java 类中实现 onCheckChanged。

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

关于java - 如何在 Android 方法中初始化 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29198664/

相关文章:

Android:ADB 未加载

java - ListView setOnItemClickListener 未执行

unit-testing - 在 Raku 中进行单元测试时如何模拟类方法

java - 持久性不适用于 Play Framework 2 中的 Ebeans

java - 如何使用 SPARQL 查询 SUMO 本体

java - 从一个 jsp 页面到另一个页面执行 href 时创建一个新 session , session 变量返回为 null

java - 创建 ListView 时出现运行时错误

java - 将请求从一个 Web 服务转发到另一个 Web 服务

Java:使用传递接口(interface)参数的方法实现接口(interface)

c# - 在 C# 中使用属性或方法公开业务规则?