viernes, 28 de septiembre de 2012

Capitulo 4 Android - CheckBox



Capitulo 4 Android - CheckBox
Abrimos Eclipse y pinchamos en Archivo / Nuevo / Android Ap
Ponemos como nombre de aplicación CheckBox en package ejemplos.android.
Damos nombre a la Activity, dejar el que pone por omision.
La actividad que crearemos tendra 3 textview, 2 edittext, 2 checkbox y un boton.
Realizara la suma o resta de 2 numeros, para probar que pasa al pulsar un checkbox y que la aplicación haga una u otra operación dependiendo de la eleccion del usuario.
El ejemplo es igual al del capitulo anterior, eliminando los radiobutton y poniendo los checkbox, asi como nombrarlos en el codigo, el resto es igual.
Después de crear la pantalla principal y distribuir los textview… y demas, señalamos el boton y buscamos su opcion Onclick (pulsando con el boton derecho en el boton), le ponemos de nombre calcular, que después utilizaremos en el codigo.
A los objetos insertados en la pantalla principal, les ponemos el id para identificarlos en la aplicación (boton derecho) por ejemplo a los textview les pongo tv1, tv2… a los edittext et1, et2, a los checkbox cb1, cb2, al boton no hace falta porque ya hemos definido su accion onclick.







Pasamos al codigo siguiente en src mainactivity.java.




package ejemplos.android;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.CheckBox;
import android.widget.TextView;

public class MainActivity extends Activity {

       private EditText et1,et2;
          private TextView tv3;
          private CheckBox cb1,cb2;
         
          /** Called when the activity is first created. */
          @Override
          public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);

              et1=(EditText)findViewById(R.id.et1);
              et2=(EditText)findViewById(R.id.et2);
              tv3=(TextView)findViewById(R.id.tv3);
              cb1=(CheckBox)findViewById(R.id.cb1);
              cb2=(CheckBox)findViewById(R.id.cb2);
          }
         
        //Esta parte se inicia al pulsar el boton
          public void calcular(View view) {
              String valor1=et1.getText().toString();
              String valor2=et2.getText().toString();
              int num1=Integer.parseInt(valor1);
              int num2=Integer.parseInt(valor2);
              if (cb1.isChecked()==true) {
                  int suma=num1+num2;
                  String resultado=String.valueOf(suma);
                  tv3.setText(resultado);
              } else
                  if (cb2.isChecked()==true) {
                      int resta=num1-num2;
                      String resultado=String.valueOf(resta);
                      tv3.setText(resultado);               
                  }
          }   
         
      }
En la primera parte del codigo asignamos las variables a los objetos creados en la activity como el edittext y los checkbox.
Una vez asignados, ponemos el metodo que se ejecutara al pulsar el boton, dentro de este metodo se asignan los numeros introducidos por el usuario a 2 variables, convirtiendolos en numeros por si el usuario mete alguna letra.
Después el metodo pasa a comprobar cual de los 2 checkbox ha pulsado el usuario y efectua una u otra opcion y la muestra en el TextView resultado.






2 comentarios:

  1. Oye pero si quieres seleccionar todas las casillas como para que te arroje todos los resultados

    ResponderEliminar
    Respuestas
    1. Pues en el ejemplo solo hace falta que selecciones uno u otro, en el caso de que se quisiera y permitiera selecciones multiples, tendrias que cambiar el condicional if y prepararlo para indicar que hacer si se pulsan dos o mas opciones, en la parte de cb1 o cb2 cambiarlo.
      Espero resuelva tus dudas. Gracias

      Eliminar

Se procedera a revision para su pronta publicacion en caso de que no incumpla las normas de blogger.