如何将变量fTdee传递到另一个活动?我似乎有问题,因为fTdee是在If-Else语句中声明的,但我认为我实际上并未从If-Else语句外部访问此变量fTdee。
final float fAF;
float fTdee;
String strAF = tvAF.getText().toString();
if (strAF.matches("OptionA"))
{
fAF = 1.20f;
fTdee = bmr*fAF;
}
else if (strAF.matches("OptionB"))
{
fAF = 1.375f;
fTdee = bmr*fAF;
}
else if (strAF.matches("OptionC"))
{
fAF = 1.55f;
fTdee = bmr*fAF;
}
else if (strAF.matches("OptionD"))
{
fAF = 1.725f;
fTdee = bmr*fAF;
}
else if (strAF.matches("OptionE"))
{
fAF = 1.90f;
fTdee = bmr*fAF;
}
Intent in2 = new Intent(getApplicationContext(), CaloriesPage.class);
in2.putExtra("mTdee",fTdee);
startActivity(in2);
最佳答案
在语句外声明fTdee
。并且不要将它们设为final
,这意味着您无法在实例化后修改它们。
float fAF = 0.0f;
String strAF = tvAF.getText().toString();
if (strAF.matches("OptionA")){
fAF = 1.20f;
}else if (strAF.matches("OptionB")){
fAF = 1.375f;
}else if (strAF.matches("OptionC")){
fAF = 1.55f;
}else if (strAF.matches("OptionD")){
fAF = 1.725f;
}else if (strAF.matches("OptionE")){
fAF = 1.90f;
}
final float fTdee = bmr*fAF;
Intent in2 = new Intent(getApplicationContext(), CaloriesPage.class);
in2.putExtra("mTdee",fTdee);
startActivity(in2);
提示:使用更好的var名称