Как преобразовать строку в десятичные значения в студии Android

Пишу приложение, в котором рассчитывается потребление алкоголя. Формула дает мужчинам и женщинам разные десятичные значения. Я создал спиннер для этого. Вот спиннер, написанный на java.

Spinner genderSpinner = (Spinner) findViewById(R.id.Genderspinner);
        ArrayAdapter<String> myAdapter4 = new ArrayAdapter<String>(DrinksActivity.this,
                android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.gender));
        myAdapter3.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        genderSpinner.setAdapter(myAdapter4);

Вот массив строк в счетчике. Вот XML-код.

<string-array name="gender">
        <item>M</item> <!--0.68-->
        <item>F</item> <!--0.55-->
    </string-array>

Я хочу присвоить десятичные значения M (мужской) как 0,68 и F (женский) как 0,55, чтобы я мог выполнить расчет с выбранным элементом. Я хотел бы знать, как это сделать в java-коде.


person James Faulkner    schedule 11.03.2017    source источник


Ответы (1)


Вам просто нужно использовать spinner.setOnItemSelectedListener(), который будет вызываться, когда пользователь изменит элемент в раскрывающемся списке. Затем вы можете узнать, какой выбранный элемент «M» или «F», и на основе этого вы можете просто назначить правильный коэффициент в коде.

Пример:

if "M".equals(selectedItem) { 
    dFactor = 0.68
} else {
    dFactor = 0.55
}

вот полный пример использования onItemSelectedListener:
http://www.mysamplecode.com/2012/03/android-spinner-arrayadapter.html

person TmTron    schedule 11.03.2017