Hoy tenemos otro interesante ejercicio con la tecnologia de Android. El objetivo de este ejercicio es usar los controles del CheckBox es parecido al uso de los RadioButton que se ha visto en ejercicios anteriores.
Problema:
Realizar la carga de dos números en controles de tipo EditText. Mostrar un mensaje que solicite la carga de los valores. Disponer dos controles de tipo CheckBox para seleccionar si queremos sumar y/o restar dichos valores. Finalmente mediante un control de tipo Button efectuamos la operación respectiva. Mostramos el o los resultados en un TextView.
Lo nuevo en este problema es la inserción de dos objetos de la clase CheckBox que se encuentra en la pestaña «Form Widgets»
package com.mfast.appcheckbox;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
EditText numero1;
EditText numero2;
TextView resultado;
CheckBox suma;
CheckBox resta;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
numero1=(EditText)findViewById(R.id.txtNum1);
numero2=(EditText)findViewById(R.id.txtNum2);
resultado=(TextView)findViewById(R.id.txtResultado);
suma=(CheckBox)findViewById(R.id.cBoSumar);
resta=(CheckBox)findViewById(R.id.cBoRestar);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void operacion(View view) {
String valor1=numero1.getText().toString();
String valor2=numero2.getText().toString();
int nro1=Integer.parseInt(valor1);
int nro2=Integer.parseInt(valor2);
String resu="";
if (suma.isChecked()==true) {
int suma=nro1+nro2;
resu="La suma es: "+ suma;
}
if (resta.isChecked()==true) {
int resta=nro1-nro2;
resu=resu + " La resta es: "+ resta;
}
resultado.setText(resu);
}
}
Definimos dos objetos de la clase CheckBox como atributos de la clase:
CheckBox suma;
CheckBox resta;
En el método onCreate los inicializamos con los objetos definidos en el archivo XML.
suma=(CheckBox)findViewById(R.id.cBoSumar);
resta=(CheckBox)findViewById(R.id.cBoRestar);
En el método operar debemos definir dos if a la misma altura ya que los dos controles de tipo CheckBox pueden estar seleccionados simultaneamente. Definimos una variable de tipo String y la inicializamos con cadena vacía para el caso en que los dos CheckBox no estén seleccionados:
String resu=»»;
if (suma.isChecked()==true) {
int suma=nro1+nro2;
resu=»La suma es: «+ suma;
}
if (resta.isChecked()==true) {
int resta=nro1-nro2;
resu=resu + » La resta es: «+ resta;
}
resultado.setText(resu);
Asi quedaria el interfaz del proyecto final.
Hola soy Alex Céspedes fundador de ANDROFAST, programo algunas cosas por diversión, me gusta aprender cosas nuevas y estoy pendiente de todo lo que tenga que ver con tecnología. Este blog lo cree para todas las personas que tengan dificultades en la programación, para ser sincero nunca fui bueno y reprobé algunos cursos de programación, pero mis ganas de aprender pudieron más. SI YO PUEDO TU PUEDES ANIMO!