Как использовать выбранное значение счетчика для расчета? - PullRequest
0 голосов
/ 11 ноября 2019

Я работаю над приложением, в котором я хочу реализовать спиннер с выбором пола для мужчин и женщин. После того, как значение выбрано, это значение должно использоваться в расчете, как на экране ниже. Я протестировал счетчик с Toast.maketext, и он работает, я также протестировал часть кода Calculate BMR с использованием текстового поля, и он работает. Сейчас я пытаюсь передать выбранную строку из счетчика, которая, если в случае M он выполнит первый блок кода, если они выбрали F, приложение выполнит второй блок кода, предназначенный для женского пола. Как передать строку из спиннера, который я храню int gen, и использовать ее в кодовом блоке CalculateBMR?

enter image description here

1 Ответ

1 голос
/ 12 ноября 2019

Я думаю, что поскольку вы создаете локальную переменную gen, она теряет свое значение после того, как вы выбираете здесь пол,

@Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            String gen = adapterView.getItemAtPosition(i).toString();

        }

Я предполагаю, что вы делаете это внутри действия, поэтому создайте переменную вуровень активности, например,

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();

        }

Но вам нужно убедиться, что спиннер имеет значение по умолчанию, без того, чтобы строка gen выдавала исключение.

...