我正在开发一个微调器这个微调器我是字符串数组
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(); }@H_404_3@……………………….
<string-array name="RectBeam"> <item value="3000000" > Steel</item></string-array>@H_404_3@这是微软相关的字符串数组我得到的微调项目我正在使用parent.getItemAtPosition(pos).toString(),完成我的问题是特定的项目值如何可以得到
example : steel----------->3000000@H_404_3@
解决方法
我不确定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>@H_404_3@现在加载适配器中的第一个数组,并将第二个数组存储在其他数组中以保存项目的值:
String items [] = getResources().getStringArray(R.array.items); String values [] = getResources().getStringArray(R.array.values);@H_404_3@您可以直接在onItemSelected()方法中获取相应的项目名称和值,如下所示:
String item = parent.getItemAtPosition(pos).toString(); String value = values [pos];@H_404_3@