0% encontró este documento útil (0 votos)
18 vistas7 páginas

Control Spinner en Proyecto Android

El documento describe cómo crear una aplicación Android que permite a los usuarios ingresar dos números, seleccionar una operación matemática (suma, resta, multiplicación o división) usando un Spinner, y mostrar el resultado. Se explica cómo inicializar un Spinner, agregar opciones, y recuperar la selección del usuario para realizar la operación correspondiente.

Cargado por

pedrol
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
18 vistas7 páginas

Control Spinner en Proyecto Android

El documento describe cómo crear una aplicación Android que permite a los usuarios ingresar dos números, seleccionar una operación matemática (suma, resta, multiplicación o división) usando un Spinner, y mostrar el resultado. Se explica cómo inicializar un Spinner, agregar opciones, y recuperar la selección del usuario para realizar la operación correspondiente.

Cargado por

pedrol
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

6 - Control Spinner

El objetivo de este concepto es seguir practicando lo visto hasta ahora e


incorporar el control visual Spinner.
El control Spinner muestra una lista de String y nos permite seleccionar uno de
ellos. Cuando se lo selecciona se abre y muestra todos sus elementos para
permitir seleccionar uno de ellos.
Crear un proyecto llamado Proyecto005.

Problema:

Realizar la carga de dos nmeros en controles de tipo EditText ("Number").


Mostrar un mensaje que solicite la carga de los valores iniciando la propiedad
"hint" de cada control. Disponer un control de tipo Spinner que permita
seleccionar si queremos sumar, restar, multiplicar o dividir dichos valores.
Finalmente mediante un control de tipo Button efectuamos la operacin
respectiva. Mostramos el resultado en un TextView.
Lo nuevo en este problema es la insercin de un control de tipo Spinner que se
encuentra en la pestaa "Widgets" :
Dejamos la propiedad id con el valor spinner (valor por defecto que crea el
Android Studio al insertar el objeto de la clase Spinner).
En la siguiente imagen en la ventana "Component Tree" del Android Studio
podemos observar los objetos dispuestos en el formulario, sus id, sus textos y
de que clase son cada uno:
No olvidemos inicializar la propiedad onClick del objeto button con el valor
"operar" (dicho nombre es el mtodo que debemos implementar)

Cdigo fuente:
package
[Link].proyecto005;

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

public class MainActivity extends


AppCompatActivity {
private Spinner spinner1;
private EditText et1,et2;
private TextView tv1;

public MainActivity() {
}

@Override
protected void onCreate(Bundle
savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);

et1=(EditText)findViewById([Link].et1);
et2=(EditText)findViewById([Link].et2);
tv1=(TextView)findViewById([Link].tv1);

spinner1 = (Spinner)
findViewById([Link]);
String
[]opciones={"sumar","restar","multiplicar","divi
dir"};
ArrayAdapter <String>adapter = new
ArrayAdapter<String>(this,[Link]
e_spinner_item, opciones);
[Link](adapter);
}
//Este mtodo se ejecutar cuando se
presione el botn
public void operar(View view) {
String valor1=[Link]().toString();
String valor2=[Link]().toString();
int nro1=[Link](valor1);
int nro2=[Link](valor2);
String
selec=[Link]().toString();
if ([Link]("sumar")) {
int suma=nro1+nro2;
String resu=[Link](suma);
[Link](resu);
} else
if ([Link]("restar")) {
int resta=nro1-nro2;
String resu=[Link](resta);
[Link](resu);
}
else
if ([Link]("multiplicar")) {
int multi=nro1*nro2;
String resu=[Link](multi);
[Link](resu);
}
else
if ([Link]("dividir")) {
int divi=nro1/nro2;
String resu=[Link](divi);
[Link](resu);
}
}
}
Definimos un objeto de la clase Spinner:
private Spinner spinner1;
En el mtodo onCreate obtenemos la referencia al control visual declarado en el
archivo XML (Veamos que no es obligatorio que el nombre de nuestro objeto
llamado spinner1 sea igual al id definido en la interfaz visual llamado spinner):
spinner1 = (Spinner) findViewById([Link]);
Definimos un vector con la lista de String que mostrar el Spinner:
String []opciones={"sumar","restar","multiplicar","dividir"};
Definimos y creamos un objeto de la clase ArrayAdapter:
ArrayAdapter<String> adapter = new
ArrayAdapter<String>(this,[Link].simple_spinner_item,
opciones);
Al constructor le pasamos como primer parmetro la referencia de nuestro
AppCompatActivity (this), el segundo parmetro indica el tipo de Spinner,
pudiendo ser las constantes:
[Link].simple_spinner_item
[Link].simple_spinner_dropdown_item
El tercer parmetro es la referencia del vector que se mostrar.
Luego llamamos al mtodo setAdapter de la clase Spinner pasando la referencia
del objeto de la clase ArrayAdapter que acabamos de crear:
[Link](adapter);
En el mtodo operar que se ejecuta cuando presionamos el botn "OPERAR" y
donde procedemos a extraer el contenido seleccionado del control Spinner:
String selec=[Link]().toString();
Luego mediante una serie de if anidados verificamos si debemos sumar, restar,
multiplicar o dividir:
if ([Link]("sumar")) {
int suma=nro1+nro2;
String resu=[Link](suma);
[Link](resu);
} else
if ([Link]("restar")) {
int resta=nro1-nro2;
String resu=[Link](resta);
[Link](resu);
}
else
if ([Link]("multiplicar")) {
int multi=nro1*nro2;
String resu=[Link](multi);
[Link](resu);
}
else
if ([Link]("dividir")) {
int divi=nro1/nro2;
String resu=[Link](divi);
[Link](resu);
}
En el emulador tenemos como resultado de ejecutar el programa:
Si queremos que el Spinner no ocupe todo el ancho cambiamos la propiedad
layout_width con el valor wrap_content.

También podría gustarte