我正在开发一个微调器这个微调器我是字符串数组
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 String中的属性值,但是您的问题可以像这样解决.
在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];