Я пытаюсь использовать раскрывающееся меню на основе счетчика, и как только значение из раскрывающегося меню выбрано, я хочу сохранить его, а затем использовать его далее в операторе if, когда предполагается, что вычисления произойдут. Вот код, который у меня пока есть:
public class ItemSelectedListener implements AdapterView.OnItemSelectedListener {
//get strings of first item
String firstItem = String.valueOf(spinner.getSelectedItem());
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
if (firstItem.equals(String.valueOf(spinner.getSelectedItem()))) {
} else {
String item = parent.getItemAtPosition(pos).toString();
}
}
@Override
public void onNothingSelected(AdapterView<?> arg) {
}
public void CalculateBMR(View v) {
String heightStr = height.getText().toString();
String weightStr = weight.getText().toString();
String sexStr = sex.getText().toString();
String ageStr = age.getText().toString();
String actItemStr = firstItem;
if (heightStr != null && !"".equals(heightStr)&& weightStr != null && !"".equals(weightStr) && sexStr !=null && !"".equals(sexStr) && ageStr != null && !"".equals(ageStr) ){
double heightValue = Double.parseDouble(heightStr);
double weightValue = Double.parseDouble(weightStr);
double ageValue = Double.parseDouble(ageStr);
if (sexStr .equals("M"))
{
double bmr = Math.round((((weightValue / 2.2046) * 10) + (6.25 * (heightValue * 30.48)) - (5 * ageValue) + 5) * 100);
double bmrr = bmr / 100;
result1.setText("YOUR BMR IS: " + bmrr);
if (actItemStr .equals("Light")) {
double dtee = Math.round((bmrr * 1.53) * 100);
result2.setText("YOUR DTEE IS: " + dtee / 100);
}
else if (actItemStr .equals("Moderate")) {
double dtee = Math.round((bmrr * 1.76) * 100);
result2.setText("YOUR DTEE IS: " + dtee / 100);
Итак, я вложил оператор if, который говорит, что если пользователь выбрал «Light» из выпадающего меню, чем выполнить расчет, иначе, если пользователь выбрал «Moderate» из выпадающего спискавниз, чем выполнить другой расчет. Когда я запускаю этот код, приложение запускается, и у меня выпадает счетчик, а при выборе приложение просто обновляется. Если я вычеркну спиннер из уравнения, расчет сработает. Есть идеи, что я могу делать не так?