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抱歉,这看起来像什么。我真的是个新手,明天要交这个作业:(