2012-04-26 47 views
43

Tengo 5 hilanderas. Para hacer un resumen de esto.¿Cómo obtener el valor de elemento seleccionado por Spinner en la cadena?

Esta es Spinner en XML

<Spinner 
      android:id="@+id/text_interested" 
      android:layout_span="2" 
      android:layout_width="wrap_content" 
      android:layout_height="60px" 
      android:entries="@array/interestedarrays" 
      android:prompt="@string/interestedprompt" /> 

Ésta es Spinner en Java

submitbtn.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
interested.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
         public void onItemSelected(
           AdapterView<?> adapterView, View view, 
           int i, long l) { 
          interesting = interested.getItemAtPosition(i).toString(); 
         } 

         public void onNothingSelected(
           AdapterView<?> adapterView) { 

         } 
        }); 
    } 
}); 

Explicación aquí:

La página tiene un botón. Este botón leerá los datos del girador cuando se presionen. Comprobé la salida con este

System.out.println(interested.getItemAtPosition(i).toString()); 

No me dio nada ni siquiera nulo.

¿Cómo recuperar el valor y enhebrarlo?

+0

Estoy seguro de que desea elemento seleccionado de una ruleta cada vez que el usuario hace clic en un botón –

+0

Ajuste el setOnItemSelectedListener fuera onClick del botón y en el interior Onclick el uso del método de este interested.getSelectedItem(). ToString() ; –

+0

gracias, mi error fue poner al oyente dentro del botón oyente por qué no responder –

Respuesta

124

Prueba esto:

String text = mySpinner.getSelectedItem().toString(); 

como no se puede obtener el valor de diferentes Spinners.

7

Usted puede obtener el elemento seleccionado de Spinner utilizando,

interested.getSelectedItem().toString(); 
0

Mediante la implementación de la SpinnerAdapter para su objeto adaptador i utilizar interested.getItem(i).toString()

1

creo que desea que el elemento seleccionado de la ruleta cuando el botón está clic ..

Trate getSelectedItem():

spinner.getSelectedItem() 
4

probar este

final Spinner cardStatusSpinner1 = (Spinner) findViewById(R.id.text_interested); 
    String cardStatusString; 
    cardStatusSpinner1.setOnItemSelectedListener(new OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> parent, 
       View view, int pos, long id) { 
      cardStatusString = parent.getItemAtPosition(pos).toString(); 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> arg0) { 
      // TODO Auto-generated method stub 

     } 
    }); 

final Button saveBtn = (Button) findViewById(R.id.save_button); 
    saveBtn .setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 

      System.out.println("Selected cardStatusString : " + cardStatusString); //this will print the result 
     } 
    }); 
12
String Text = mySpinner.getSelectedItem().toString(); 

O

mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
     Object item = parent.getItemAtPosition(position); 
    } 
    public void onNothingSelected(AdapterView<?> parent) { 
    } 
}); 
+0

Pero, ¿cómo obtener el elemento 0 ?! –

1

Al elegir cualquier valor de ruleta, valor, entonces usted se ha seleccionado,

interested.getSelectedItem().toString(); 
4

Si su S Pinner estaba poblada por cursor SQLite, entonces la solución es:

Spinner mySpin = (Spinner) findViewById(R.id.myspin); 
mySpin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
@Override 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      SQLiteCursor item = (SQLiteCursor) parent.getItemAtPosition(position); 
      String value = String.valueOf(item.getString(0)); 
      Toast.makeText(getApplicationContext(), "The option is:" + value , Toast.LENGTH_SHORT).show(); 
} 

PS: En item.getString(0) -> 0 es el índice de la columna de cursor que se desea obtener.

2

Además del sugerido,

String Text = mySpinner.getSelectedItem().toString(); 

Puede hacerlo,

String Text = String.valueOf(mySpinner.getSelectedItem()); 
0

La mejor manera de hacer esto es: -

String selectedItem = spinner.getSelectedItem().toString(); 

puede hacer referencia a los documentos aquí : Spinners

0

probar esto

sp1 = String.valueOf(spinner.getSelectedItem()); 
Cuestiones relacionadas