gpt4 book ai didi

android - 将 entryValues 与 Spinner 元素一起使用

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:00:25 24 4
gpt4 key购买 nike

我在 LinearLayout 中创建了一个 Spinner 元素。我想让值不同于可见值。我不想以编程方式执行此操作。我想使用下面的数组。

<?xml version="1.0" encoding="utf-8"?>
<resources>

<string-array name="select">
<item>a</item>
<item>b</item>
<item>c</item>
</string-array>

<integer-array name="selectValues">
<item>1</item>
<item>2</item>
<item>3</item>
</integer-array>

</resources>

很简单。如果选择了a 项目,我想得到 1 作为整数。路在何方?

 <Spinner
android:id="@+id/sSelect"
android:layout_width="179dp"
android:layout_height="60dp"
android:layout_gravity="center"
android:entries="@array/select"
android:entryValues="@array/selectValues" />

当我在上面和下面一起使用时。

public void onItemSelected(AdapterView<?> item, View arg1, int sort,
long arg3) {
// TODO Auto-generated method stub
String selectedItem = item.getItemAtPosition(sort).toString();
}

我只能获取字符串形式的数据,而不是值。我可以获得可见的值。

最佳答案

将所选值保留为 TypedArray并访问 onItemSelected() 中的那些方法。

// Keep the selected values as TypedArray
Resources res = getResources();
final TypedArray selectedValues = res
.obtainTypedArray(R.array.selectValues);

Spinner spinner = ((Spinner) findViewById(R.id.sSelect));
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
//Get the selected value
int selectedValue = selectedValues.getInt(position, -1);
Log.d("demo", "selectedValues = " + selectedValue);
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub

}
});

关于android - 将 entryValues 与 Spinner 元素一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19035849/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com