Java 为微调器中的项目指定浮点值
我环顾了一下周围,其他关于这类主题的帖子对我来说仍然没有太多意义 我有一个微调器和该微调器中的项目。该微调器中的项存储在strings.xml中的字符串数组(stateNames)中 如何使该微调器中的每个项都有自己的浮动值?我想根据微调器中选择的项目执行不同的算术运算 例如: 微调器项1的值为1.2 微调器项2的值为3.6 微调器项3的值为7.31 等等 以下是我的变量名引用代码:Java 为微调器中的项目指定浮点值,java,android,android-studio,Java,Android,Android Studio,我环顾了一下周围,其他关于这类主题的帖子对我来说仍然没有太多意义 我有一个微调器和该微调器中的项目。该微调器中的项存储在strings.xml中的字符串数组(stateNames)中 如何使该微调器中的每个项都有自己的浮动值?我想根据微调器中选择的项目执行不同的算术运算 例如: 微调器项1的值为1.2 微调器项2的值为3.6 微调器项3的值为7.31 等等 以下是我的变量名引用代码: stateSpinner = (Spinner)findViewById(R.id.stateSelect);
stateSpinner = (Spinner)findViewById(R.id.stateSelect);
stateSpinnerAd = ArrayAdapter.createFromResource(this,R.array.stateNames,android.R.layout.simple_spinner_item);
stateSpinnerAd.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
stateSpinner.setAdapter(stateSpinnerAd);
stateSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
stateSpinner=(微调器)findViewById(R.id.stateSelect);
stateSpinnerAd=ArrayAdapter.createFromResource(这个,R.array.stateNames,android.R.layout.simple\u微调器\u项);
stateSpinnerAd.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
setAdapter(stateSpinnerAd);
stateSpinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
创建另一个浮动数组,该数组对应于由R.array.stateNames
标识的文本数组中的相同位置
float[] floats = new float[] { 1.2f, 3.6f, 7.13f };
然后,当您在onItemSelected()中收到所选项目的位置时,索引到此新数组中。您应该注意使这个新数组的长度与文本数组的长度完全相同。微调器是。。。特别的东西。。。您需要获取parent.getId,这将告诉您选择了什么…我不知道如何在不测试每个ID的情况下获取ID,所以我使用了toast
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
switch(parent.getId()){
case 2131558516:
answer = 3.432;
//Toast.makeText(getApplicationContext(), "" + parent.getId(), Toast.LENGTH_SHORT).show();
break;
case 234343243:
answer = 7.61;
break;
}
public void已选择(AdapterView父视图、视图视图、int位置、长id){
开关(parent.getId()){
判例2131558516:
答案=3.432;
//Toast.makeText(getApplicationContext(),“”+parent.getId(),Toast.LENGTH\u SHORT).show();
打破
判例234343243:
答案=7.61;
打破
}
如果每个项的文本都是实际的浮点值,那么使用从项的文本或原始数组中解析浮点字符串会更安全。如果您正在寻找一致的解决方案,您应该创建一个自定义适配器并执行逻辑。我非常缺乏经验,如何为浮点数组编制索引?