微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决获取微调器的项目值而不是微调器字符串值

在我的应用程序中,我需要获取微调器的值。 例如,我有一个用字符串数组(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();
  }
}

解决方法

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

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";
            }

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

,

获取所选项目的位置:

type: ClusterIP
,

尝试在 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];
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。