spinner在项目选择上添加字符串数组如何在android中获取项目相关的值

前端之家收集整理的这篇文章主要介绍了spinner在项目选择上添加字符串数组如何在android中获取项目相关的值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个微调器这个微调器我是字符串数组
  1. spinner = (Spinner)this.findViewById(R.id.mlg);
  2. final CharSequence[] itemArray =getResources().getTextArray(R.array.RectBeam);
  3. final List<CharSequence> itemList =new ArrayList<CharSequence>(Arrays.asList(itemArray));
  4. adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item,itemList);
  5.  
  6. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  7.  
  8. spinner.setAdapter(adapter);
  9. spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
  10.  
  11. public void onItemSelected(AdapterView<?> parent,View view,int pos,long id) {
  12. Toast.makeText(parent.getContext(),"The planet is " +
  13. parent.getItemAtPosition(pos).toString(),Toast.LENGTH_LONG).show();
  14.  
  15. }

……………………….

  1. <string-array name="RectBeam">
  2. <item value="3000000" > Steel</item></string-array>

这是微软相关的字符串数组我得到的微调项目我正在使用parent.getItemAtPosition(pos).toString(),完成我的问题是特定的项目值如何可以得到

  1. example : steel----------->3000000

解决方法

我不确定Spinner是否允许XML String中的属性值,但是您的问题可以像这样解决.

在array.xml文件中创建两个数组,如:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <string-array name="items">
  4. <item>Nokia 1200</item>
  5. <item>Nokia 1600</item>
  6. <item>Nokia 5130</item>
  7. </string-array>
  8. <string-array name="values">
  9. <item>1000</item>
  10. <item>2000</item>
  11. <item>5000</item>
  12. </string-array>
  13. </resources>

现在加载适配器中的第一个数组,并将第二个数组存储在其他数组中以保存项目的值:

  1. String items [] = getResources().getStringArray(R.array.items);
  2. String values [] = getResources().getStringArray(R.array.values);

您可以直接在onItemSelected()方法获取相应的项目名称和值,如下所示:

  1. String item = parent.getItemAtPosition(pos).toString();
  2. String value = values [pos];

猜你在找的Android相关文章