Android cómo obtener el elemento seleccionado de data spinner
Pregunta de novato. Estoy utilizando un SimleCursorAdapter para rellenar un spinner de una tabla SQLite, como se muestra en los documentos Android dev:
Spinner list=(Spinner)findViewById(R.id.cboModel); SimpleCursorAdapter ModelAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, model, new String[] {"Drug"}, new int[] {android.R.id.text1}); ModelAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item); list.setAdapter(ModelAdapter); list.setOnItemSelectedListener(onModelSelect);
He configurado un oyente, pero no puedo averiguar cómo obtener el texto del elemento seleccionado, se extrae el SQLiteCursor, no el texto real en el hilandero.
- SQLite externo Contenido del archivo que accede al error
- RxJava2 en la función de devolución de llamada onLoadFinished de CursorLoader
- Qt cómo conectar a un archivo SQLlite existente en el sistema operativo Android?
- Compruebe si la base de datos está vacía
- Consulta de eliminación de Android
private AdapterView.OnItemSelectedListener onModelSelect= new AdapterView.OnItemSelectedListener() { public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { ModelName = parent.getSelectedItem().toString(); android.util.Log.w("OnItemSelect.cboModel", ModelName); } public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } };
Google plantea la cuestión en varios foros de mensajes, pero no hay respuestas, por lo que parece ser una pregunta común novato. Puede ser dolorosamente obvio para algunos, pero si pudiera señalarme en la dirección correcta, lo agradecería. Gracias.
- Sqlite onCreate () problema Quiero que mi base de datos creada una vez, y no va a cambiar, pero no puedo crear datos cuando estoy en onCreate ()
- ¿Cómo puedo recuperar datos de la base de datos con el cursor? (Android, SQLite)
- Android: ¿necesitamos cerrar Db después de cerrar el cursor
- ¿La implementación de SQLite de Android desinfecta la entrada a través del método SQLiteDatabase.insert ()?
- Pasar los datos a otro fragmento de vista de desplazamiento con la pestaña de estudio de Android, no botón
- Android: No se puede realizar esta operación porque se ha cerrado el grupo de conexiones
- ¿Cómo recuperar un ID del elemento seleccionado en un Spinner dinámico?
- DETALLES DE EXCEPCIÓN: java.lang.IllegalStateException: Proceso 3188 Cuota de cursor excedido 100, lo matará con Rom MIUI
Dado que el elemento seleccionado es un Cursor, puede obtener fácilmente el valor llamando a getString con el índice de la columna en la consulta de base de datos original que utilizó para rellenar el Spinner.
String spinnerString = null; Cursor cc = (Cursor)(yourSpinner.getSelectedItem()); if (cc != null) { spinnerString = cc.getString( cc.getColumnIndex("Drug")); }
Esta técnica definitivamente funciona cuando el Spinner se llena desde la base de datos. No lo he probado con una matriz de recursos.
Calculado … obtener el id, a continuación, hacer una consulta de DB:
String id_string = String.valueOf(id); thismodel=Pkmodel.getById(id_string, dbModel); ModelName=thismodel.getDrug();