Android - Spinners

   
Vista:

Spinners

Publicado por rodic (4 intervenciones) el 26/11/2017 17:35:04
Hola!

tengo que crear un spinner con dos opciones, ocultar y mostrar, Tengo creada la instancia y el array con las dos opciones, pero me surge la duda de como crear el listener, no estoy seguro de como hacer entre otras cosas porque no he hecho nunca ninguno... de momento lo que tengo es esto:

Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
String[] opcionesSpinner = {"Mostrar imágen","Ocultar Imágen"};

spinner1.setAdapter(new ArrayAdapter<String>());

Además quiero desactivar un botón cuando seleccione "ocultar". ¿Tendría que hacer un condicional dentro del listener del spinner?

¿Podéis orientarme un poco por favor?

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Dionicio

re:Spinners

Publicado por Dionicio (2 intervenciones) el 27/11/2017 21:15:23
Aquí te dejo un ejemplo más o menos de como lo haría yo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Spinner miSpinner = (Spinner)findViewById(R.id.spinner);
 
        //Creamos el adaptador y añadimos algunas opciones. Tomar en cuenta que el diseño viene de los recursos que se encuentran en android
        ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this,android.R.layout.simple_spinner_dropdown_item,new String[]{"Opcion1","Opcion2"});
 
        miSpinner.setAdapter(adapter);
 
        miSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
 
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int posicionPresionada, long l) {
                //Implementamos un switch para facilitar el añadir opciones futuras
                //Aunque puede usarse estructuras if, else if también
                switch (posicionPresionada){
                    case 0:
                        //Lo que se ejecutará en la primera opción
                        break;
                    case 1:
                        //Lo que se ejecutará en la segunda opción
                        break;
                }
            }
 
            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
 
            }
        });

Si lo que quieres es inhabilitar un botón pues simplemente llámalo y accede a su método setEnabled(false); y si quieres el efecto contrario solo necesitarías cambiar el valor booleano contrario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Revisar política de publicidad