获取微调器的项目值而不是微调器字符串值

Get item value of the spinner instead of spinner string value

在我的应用程序中,我需要获取微调器的值。 例如,我有一个微调器“城市”,其中填充了字符串数组 (strings.xml) 用户在微调器中选择一个值,例如“Façade du poste extérieur”,我必须以链接到“Façade du poste extérieur”的值的 id 形式检索微调器的值。

<!-- Mulitchoix emplacement antenne --> <string-array name="emplacement_antenne">
    <item value="521">Façade du poste extérieur</item>
    <item value="522">Pignon extérieur poste</item>
    <item value="523">Mur intérieur</item>
    <item value="524">Intérieur sur appareil</item> </string-array>

例如,当用户选择“Façade du poste extérieur”时,如何检索 id? 目前我使用这个命令行:

formulaireTypeAtn = spinner_type_antenne.getSelectedItem().toString().trim();

如何获取项目值而不是“getSelectedItem().toString()”???

编辑:

Spinner spinner_type_antenne;
spinner_type_antenne = findViewById(R.id.spinner_type_antenne);

        btnValider.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
formulaireTypeAtn = spinner_type_antenne.getSelectedItem().toString().trim();
  }
}

获取所选项目的位置:

formulaireTypeAtn = spinner_type_antenne.getSelectedItemPosition();

尝试在 setOnItemSelectedListener 函数中使用以下内容

List<Integer> list = new ArrayList<Integer>();
list.add(1);//add values to the list
int SelectedIndex = spinner.getSelectedItemPosition();
int value = list.get(SelectedIndex);

执行下面的代码。

for (int i = 0; i < array.length(); i++) {
  if (array[i].equalsIgnoreCase("Selected spinner value")) {
  String value = array_value[i];
  }
}

我自己找到了解决方案:)

String formulaireTypeAtn, FormulaireTypeAtnFin;

formulaireTypeAtn = String.valueOf(spinner_type_antenne.getSelectedItemId());

            if (formulaireTypeAtn.equals("0")){
                FormulaireTypeAtnFin = "518";
            }
            if (formulaireTypeAtn.equals("1")){
                FormulaireTypeAtnFin = "519";
            }
            if (formulaireTypeAtn.equals("2")){
                FormulaireTypeAtnFin = "520";
            }

因此,当用户单击微调器并做出选择时,它 select 微调器中的一项,我得到了选择的 ID(0、1、2、3 等) 我创建了一个条件,允许根据微调器中的 ID selected 为变量定义一个值。所以,我return想要的值。