我正在开发一个微调器这个微调器我是字符串数组
spinner = (Spinner)this.findViewById(R.id.mlg);
final CharSequence[] itemArray =getResources().getTextArray(R.array.RectBeam);
final List<CharSequence> itemList =new ArrayList<CharSequence>(Arrays.asList(itemArray));
adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item,itemList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
Toast.makeText(parent.getContext(), "The planet is " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}
................................................
<string-array name="RectBeam">
<item value="3000000" > Steel</item></string-array>
这是微调器相关的字符串数组,我正在使用 parent.getItemAtPosition(pos).toString() 获取微调器项目,我的问题是如何获取特定项目值
example : steel----------->3000000
最佳答案
我不确定 Spinner 是否允许在 XML 字符串中使用该属性值,但您的问题可以这样解决。
在您的 array.xml
文件中创建两个数组,例如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="items">
<item>Nokia 1200</item>
<item>Nokia 1600</item>
<item>Nokia 5130</item>
</string-array>
<string-array name="values">
<item>1000</item>
<item>2000</item>
<item>5000</item>
</string-array>
</resources>
现在在您的适配器中加载第一个数组并将第二个数组存储在另一个数组中以将项目的值保存为:
String items [] = getResources().getStringArray(R.array.items);
String values [] = getResources().getStringArray(R.array.values);
您可以像这样在 onItemSelected()
方法中简单地获取相应的项目名称和值:
String item = parent.getItemAtPosition(pos).toString();
String value = values [pos];
关于android - 微调器在项目选择上添加字符串数组如何在android中获取项目相关值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5244236/