在我Spinner
我有一个String
Array
它{久坐不动,轻轻地积极,适度活跃和频繁使用的活动}(这是一个人的基础代谢率的计算)安卓微调getselected项目
我想要做的就是在选定项目在Spinner
。
例如,当我点击久坐,为久坐具有1.2的值,的BMR是multiplied
通过1.2结果。但我似乎无法为我工作。
请你检查我下面的代码:
private void calculateMen(){
String f1 = etft.getText().toString();
String f2 = etin.getText().toString();
String f3 = etweight.getText().toString();
String f4 = etage.getText().toString();
if ((f1.isEmpty() || f2.isEmpty() || f3.isEmpty() || f4.isEmpty()))
{ // call for custom toast
viewErrorToast();
}
else
{
// Metric Formula for BMR (Men) English Unit
// 66 + (6.2377 x weight in kilos) +
//(12.7084 x height in cm) - (6.7550 x age in years)
String age, in, ft, weight;
Double answer;
age = etage.getText().toString();
in = etin.getText().toString();
ft = etft.getText().toString();
weight = etweight.getText().toString();
if (spinnerText.equals("Sedentary"))
{
answer = ((66 + (6.2377 * Double.parseDouble(weight)) + (12.7084 * (Double.parseDouble(in) * 12 + Double.parseDouble(ft))) - (6.8 * Double.parseDouble(age))) * 1.2);
//* Double.parseDouble(actAnswer) ;
BigDecimal bd = BigDecimal.valueOf(answer);
bd = bd.setScale(2, BigDecimal.ROUND_FLOOR);
etanswer.setText(bd.toString());
}
else if (spinnerText.equals("Lightly Active"))
{
answer = ((66 + (6.2377 * Double.parseDouble(weight)) + (12.7084 * (Double.parseDouble(in) * 12 + Double.parseDouble(ft))) - (6.8 * Double.parseDouble(age))) * 1.375);
//* Double.parseDouble(actAnswer) ;
BigDecimal bd = BigDecimal.valueOf(answer);
bd = bd.setScale(2, BigDecimal.ROUND_FLOOR);
etanswer.setText(bd.toString());
}
else if (spinnerText.equals("Moderately Active"))
{
answer = ((66 + (6.2377 * Double.parseDouble(weight)) + (12.7084 * (Double.parseDouble(in) * 12 + Double.parseDouble(ft))) - (6.8 * Double.parseDouble(age))) * 1.55);
//* Double.parseDouble(actAnswer) ;
BigDecimal bd = BigDecimal.valueOf(answer);
bd = bd.setScale(2, BigDecimal.ROUND_FLOOR);
etanswer.setText(bd.toString());
}
else if (spinnerText.equals("Heavily Active"))
{
answer = ((66 + (6.2377 * Double.parseDouble(weight)) + (12.7084 * (Double.parseDouble(in) * 12 + Double.parseDouble(ft))) - (6.8 * Double.parseDouble(age))) * 1.725);
//* Double.parseDouble(actAnswer) ;
BigDecimal bd = BigDecimal.valueOf(answer);
bd = bd.setScale(2, BigDecimal.ROUND_FLOOR);
etanswer.setText(bd.toString());
}
// call for custom toast
viewBMRSavedToast();
}
} // end of calculateMen method
检查你的代码,你应该张贴您的logcat输出 –
我没有看到你的代码中的任何微调。发布一些相关的代码或整个活动 –