Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为微调器中的项目指定浮点值_Java_Android_Android Studio - Fatal编程技术网

Java 为微调器中的项目指定浮点值

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

我环顾了一下周围,其他关于这类主题的帖子对我来说仍然没有太多意义

我有一个微调器和该微调器中的项目。该微调器中的项存储在strings.xml中的字符串数组(stateNames)中

如何使该微调器中的每个项都有自己的浮动值?我想根据微调器中选择的项目执行不同的算术运算

例如:

微调器项1的值为1.2

微调器项2的值为3.6

微调器项3的值为7.31

等等

以下是我的变量名引用代码:

 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;
打破
}

如果每个项的文本都是实际的浮点值,那么使用从项的文本或原始数组中解析浮点字符串会更安全。

如果您正在寻找一致的解决方案,您应该创建一个自定义适配器并执行逻辑。我非常缺乏经验,如何为浮点数组编制索引?