Tengo 5 Spinners. Para resumir esto.
Esto 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" />
Esto 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 de la ruleta cuando se presione. Verifiqué la salida con esto
System.out.println(interested.getItemAtPosition(i).toString());
No me dio nada ni siquiera nulo.
¿Cómo recuperar el valor y encadenarlo?
android
android-spinner
Alan Lai
fuente
fuente
Respuestas:
Prueba esto:
String text = mySpinner.getSelectedItem().toString();
De esta manera, puede obtener valor para diferentes Spinners.
fuente
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) { } });
fuente
Puede obtener el elemento seleccionado de Spinner usando,
interested.getSelectedItem().toString();
fuente
Si su Spinner fue poblado por el 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(); }
PD: En
item.getString(0)
-> 0 es el índice de la columna en el cursor que desea obtener.fuente
prueba esto
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 } });
fuente
Obtenga el artículo seleccionado con Kotlin:
spinner.selectedItem.toString()
fuente
Además de lo sugerido,
String Text = mySpinner.getSelectedItem().toString();
Tu puedes hacer,
String Text = String.valueOf(mySpinner.getSelectedItem());
fuente
Cuando elige cualquier valor de la ruleta, obtiene el valor seleccionado,
interested.getSelectedItem().toString();
fuente
Creo que desea el elemento seleccionado de la ruleta cuando se hace clic en el botón.
Prueba getSelectedItem () :
spinner.getSelectedItem()
fuente
La mejor forma de hacer esto es: -
String selectedItem = spinner.getSelectedItem().toString();
puede consultar los documentos aquí: Spinners
fuente
prueba esto
sp1 = String.valueOf(spinner.getSelectedItem());
fuente
Dado que el último lenguaje para el desarrollo de Android es Kotlin. Aquí está cómo lo hacemos en Kotlin usando un objeto anónimo.
spinnerName?.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{ override fun onNothingSelected(parent: AdapterView<*>?) { println("Nothing Selected") } override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { val selectedString = yourList[position] } }
fuente
Al implementar SpinnerAdapter para su objeto adaptador que uso
interested.getItem(i).toString()
fuente
spinnerType = (AppCompatSpinner) findViewById(R.id.account_type); spinnerType.setPrompt("Select Type"); spinnerType.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { TypeItem clickedItem = (TypeItem) parent.getItemAtPosition(position); String TypeName = clickedItem.getTypeName(); Toast.makeText(AddAccount.this, TypeName + " selected", Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { } });
fuente