Android 如何从微调器检索用户选择的位置?

Android 如何从微调器检索用户选择的位置?,android,spinner,Android,Spinner,正如问题所说,以下是我对微调器的代码: package com.example.fitnessapplication1; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.Spinner; import androidx.appcompat.app.AppCompatActivity; public class UserData extends AppCompatActiv

正如问题所说,以下是我对微调器的代码:

package com.example.fitnessapplication1;

import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;

import androidx.appcompat.app.AppCompatActivity;

public class UserData extends AppCompatActivity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_user_data);

        Spinner ageRangeSpinner = findViewById(R.id.spnrAgeRange);
        ArrayAdapter<String> ageRangeAdapter = new ArrayAdapter<String>(UserData.this,
                android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.ageRange));
        ageRangeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        ageRangeSpinner.setAdapter(ageRangeAdapter);
        //Age range spinner

        Spinner activityLevelSpinner = findViewById(R.id.spnrActivityLevel);
        ArrayAdapter<String> activityLevelAdapter = new ArrayAdapter<String>(UserData.this,
                android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.activityLevel));
        activityLevelAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        activityLevelSpinner.setAdapter(activityLevelAdapter);
        //Activity level spinner

        Spinner targetWeightSpinner = findViewById(R.id.spnrTargetWeight);
        ArrayAdapter<String> targetWeightAdapter = new ArrayAdapter<String>(UserData.this,
                android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.weightChange));
        targetWeightAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        targetWeightSpinner.setAdapter(targetWeightAdapter);
        //Target weight spinner

        Spinner sexSpinner = findViewById(R.id.spnrSex);
        ArrayAdapter<String> sexAdapter = new ArrayAdapter<String>(UserData.this,
                android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.sex));
        sexAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        sexSpinner.setAdapter(sexAdapter);
        //Sex Spinner


        Spinner mySpinner = (Spinner) findViewById(R.id.spnrSex);
        String choice = mySpinner.getSelectedItem().toString();

        System.out.println(choice);



    }

    public class IntensityRatio
    {

        protected static final int AGE_LEVEL_1 = 0;
        protected static final int AGE_LEVEL_2 = 1;
        protected static final int AGE_LEVEL_3 = 2;
        protected static final int AGE_LEVEL_4 = 3;
        //For AGE_LEVEL array position

        protected static final int WEIGHT_TARGET_1 = 0;
        protected static final int WEIGHT_TARGET_2 = 1;
        protected static final int WEIGHT_TARGET_3 = 2;
        protected static final int WEIGHT_TARGET_4 = 3;
        protected static final int WEIGHT_TARGET_5 = 4;
        //For WEIGHT_TARGET array position

        protected static final int ACTIVITY_LEVEL_1 = 0;
        protected static final int ACTIVITY_LEVEL_2 = 1;
        protected static final int ACTIVITY_LEVEL_3 = 2;
        protected static final int ACTIVITY_LEVEL_4 = 3;
        //For ACTIVITY_LEVEL array position

        double[] ageFactors = {1.0, 0.75, 0.5, 0.25};
        double[] weightFactors = {0.2, 0.4, 0.6, 0.8, 1.0};
        double[] activityFactors = {0.25, 0.5, 0.75, 1};
        //Values corresponding to choices on spinners, if not working changed to protected

        public  double calculateIntensity(int activityLevel, int ageRange, int targetWeight)
        {
            double intensityRatio = (activityFactors[activityLevel] + ageFactors[ageRange] + weightFactors[targetWeight]);
            return intensityRatio;

        }

    }


}
package com.example.fitnessapplication1;
导入android.os.Bundle;
导入android.widget.ArrayAdapter;
导入android.widget.Spinner;
导入androidx.appcompat.app.appcompat活动;
公共类UserData扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u user\u数据);
微调器AgrangeSpinner=findViewById(R.id.spnRagerRange);
ArrayAdapter AgrangeAdapter=新的ArrayAdapter(UserData.this,
android.R.layout.simple_list_item_1,getResources().getStringArray(R.array.ageRange));
AgrangeAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
AgrangeSpinner.setAdapter(AgrangeAdapter);
//年龄范围微调器
微调器ActivityLevel微调器=findViewById(R.id.spnActivityLevel);
ArrayAdapter ActivityVelAdapter=新的ArrayAdapter(UserData.this,
android.R.layout.simple_list_item_1,getResources().getStringArray(R.array.activityLevel));
activityLevelAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
setAdapter(ActivityVelAdapter);
//活动水平微调器
微调器targetWeightSpinner=findviewbyd(R.id.spnrTargetWeight);
ArrayAdapter targetWeightAdapter=新的ArrayAdapter(UserData.this,
android.R.layout.simple_list_item_1,getResources().getStringArray(R.array.weightChange));
targetWeightAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
targetWeightSpinner.setAdapter(targetWeightAdapter);
//目标重量旋转器
微调器sexSpinner=findViewById(R.id.spnrSex);
ArrayAdapter sexAdapter=新的ArrayAdapter(UserData.this,
android.R.layout.simple_list_item_1,getResources().getStringArray(R.array.sex));
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
sexSpinner.setAdapter(sexAdapter);
//性纺纱工
微调器mySpinner=(微调器)findViewById(R.id.spnrSex);
字符串选择=mySpinner.getSelectedItem().toString();
System.out.println(选择);
}
公共类
{
受保护的静态最终积分水平=0;
受保护的静态最终整数级=1;
受保护的静态最终整数级=2;
受保护静态最终积分等级4=3;
//用于年龄\级别阵列位置
受保护静态最终整数权重\目标\ 1=0;
受保护的静态最终整数权重\目标值\ 2=1;
受保护静态最终整数权重\目标\ 3=2;
受保护静态最终整数权重\目标\ 4=3;
受保护的静态最终整数权重\目标值\ 5=4;
//目标阵列位置的权重
受保护的静态最终整数活动\u级别\u 1=0;
受保护的静态最终int活动\u级别\u 2=1;
受保护的静态最终int活动\u级别\u 3=2;
受保护的静态最终int活动\u级别\u 4=3;
//用于活动\u级别数组位置
双[]年龄系数={1.0,0.75,0.5,0.25};
双[]权重因子={0.2,0.4,0.6,0.8,1.0};
双[]活性因子={0.25,0.5,0.75,1};
//与微调器上的选项相对应的值(如果不工作)更改为“受保护”
公共双计算强度(int activityLevel、int ageRange、int targetWeight)
{
双强度比=(活动因子[activityLevel]+年龄因子[Agrange]+权重因子[targetWeight]);
回归强度;
}
}
}

我正在尝试获取项目在微调器中的位置,然后在数组[spinner_pos]中使用该值来获取强度比的3个因子。

使用微调器。setOnItemSelectedListener()@Niceumang我会在哪里使用它?在onCreate()内@Niceumang抱歉,这看起来像什么。我真的是个新手,明天要交这个作业:(