如何使用选定的微调器值进行计算?
How to use selected spinner value to perform calculation?
我正在开发应用程序,我想在其中实现带有男性和女性性别选择的微调器。一旦选择了该值,该值将用于计算,如下面的屏幕所示。我使用 Toast.maketext 测试了微调器并且它有效,我还使用文本字段测试了代码的计算 BMR 部分并且它有效。我现在要做的是从微调器传递选定的字符串,如果在 M 的情况下,它将执行第一段代码,如果他们选择 F,应用程序将执行第二段用于女性的代码。
如何从我正在存储 int gen 的微调器传递字符串并在 CalculateBMR 代码块中使用它?
我认为由于您正在创建一个局部变量 gen,所以在您在这里选择性别后它会失去它的值,
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
String gen = adapterView.getItemAtPosition(i).toString();
}
我假设您是在 activity 中执行此操作,因此在 activity 级别创建变量,例如,
public class MainActivity extends AppCompatActivity {
private String gen;
}
然后在 onItemSelected 中执行以下操作
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
gen = adapterView.getItemAtPosition(i).toString();
}
但您需要确保微调器具有默认值,否则字符串生成将引发异常。
我正在开发应用程序,我想在其中实现带有男性和女性性别选择的微调器。一旦选择了该值,该值将用于计算,如下面的屏幕所示。我使用 Toast.maketext 测试了微调器并且它有效,我还使用文本字段测试了代码的计算 BMR 部分并且它有效。我现在要做的是从微调器传递选定的字符串,如果在 M 的情况下,它将执行第一段代码,如果他们选择 F,应用程序将执行第二段用于女性的代码。 如何从我正在存储 int gen 的微调器传递字符串并在 CalculateBMR 代码块中使用它?
我认为由于您正在创建一个局部变量 gen,所以在您在这里选择性别后它会失去它的值,
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
String gen = adapterView.getItemAtPosition(i).toString();
}
我假设您是在 activity 中执行此操作,因此在 activity 级别创建变量,例如,
public class MainActivity extends AppCompatActivity {
private String gen;
}
然后在 onItemSelected 中执行以下操作
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
gen = adapterView.getItemAtPosition(i).toString();
}
但您需要确保微调器具有默认值,否则字符串生成将引发异常。