Llenar un Spinner con Sqlite y un Adaptador

Existen varias formas de inflar un spinner, es este caso usaremos un adaptador que permite extender la cantidad de datos consultados a la BD Sqlite

Llenar un Spinner con Datos Sqlite en Android Studio es algo sencillo, claro esta si tenemos nuestras clases definidas correctamente, para el caso debemos tener una clase con sus metodos constructor, gets y sets y adicionalmente agregar toString para retornar solo el nombre que queremos muestre en el Spinner:

Una clase ejemplo es:

/**
 * Created by ApptivaWeb on 24/04/2018.
 */
public class Ciudades {
    int id;
    String nombre;
    public Ciudades(int id, String nombre) {
        this.id = id;
        this.nombre = nombre;
    }
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    @Override
    public String toString() {
        return nombre;
    }
}

Ahora dentro de nuestra activity tenemos

public class AdminusuarionuevoActivity extends AppCompatActivity {

    private DBmanager dBmanager;
   
    private Spinner spCiudad;
    private int idciudad;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_adminusuarionuevo);
        spCiudad=findViewById(R.id.spCiudad);

        dBmanager= new DBmanager(getApplicationContext());

        //POBLANDO SPINNER ciudad
        List<Ciudades> listaCiudades=dBmanager.ListCiudades("WHERE 1");
        ArrayAdapter<Ciudades> arrayAdapter = new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, listaCiudades);
        spCiudad.setAdapter(arrayAdapter);
        spCiudad.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                idciudad=((Ciudades) adapterView.getSelectedItem()).getId();
            }
            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
            }
        });
        //FIN POBLANDO SPINNER ciudad

      
    }
}

Sus clases para la gestión de la conexion y consultas a la base de datos las podemos ver en el siguiente link DBMANAGER (En unos dias publicaremos)

 


Leido 6795 veces

Compartir enlace del tutorial

Aprende más sobre Android

Cursos de programación

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023