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