获取微调器的项目值而不是微调器字符串值
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想要的值。
在我的应用程序中,我需要获取微调器的值。 例如,我有一个微调器“城市”,其中填充了字符串数组 (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想要的值。