我正在开发一个微调器这个微调器我是字符串数组
- 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];