2011-03-09 9 views
11

Estoy desarrollando un spinner spinner este soy matriz de cadenasspinner añadiendo matriz de cadenas en la selección de opciones de cómo puede obtener valor relacionado elemento en Android

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> 

este es el relacionado spinner matriz de cadenas soy conseguir el artículo spinner estoy usando parent.getItemAtPosition (pos) .toString(), hecho mi problema es el valor particular del artículo cómo puede obtener

example : steel----------->3000000 
+0

¿Qué obtienes actualmente? –

+0

parent.getItemAtPosition (pos) .toString() -----------> esto está relacionado con el acero ya hecho este valor relacionado con el acero ¿cómo puedo obtener – Narasimha

+0

me refiero a lo que es el valor que obtienes actualmente? –

Respuesta

20

No estoy seguro de que Spinner permita ese valor de atributo en XML String o no, pero su problema se puede resolver de esta manera.

crear dos tablas en su archivo array.xml como:

<?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> 

Ahora carga primera matriz en su adaptador y almacenar el segundo en otra matriz para contener valores de los elementos como:

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

Y simplemente puede obtener el nombre y valor del artículo correspondiente en su método onItemSelected() de la siguiente manera:

String item = parent.getItemAtPosition(pos).toString(); 
String value = values [pos]; 
+0

Gracias Vikas Patidar! – elirigobeli

Cuestiones relacionadas