1. Guía de Laboratorio # 3 Android:
< CheckBox>
Objetivo:
El presente laboratorio tiene por objetivo realizar la suma y resta de dos números al momento de
clicar un botón previa selección de una opción de un control checkbox. Para ello debemos realizar
la carga de dos valores en controles de tipo “EditText”. Mostrar mensajes solicitando la carga de
los valores. Disponer de dos objetos de tipo “CheckBox” que permitirá seleccionar la operación a
realizar y de un objeto de tipo “Button” para sumar o restar los dos valores ingresados. Mostrar
el resultado obtenido.
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"
Luego la interfaz gráfica final para este problema y los nombres de los controles los podemos ver a
continuación:
SEMINARIO DE ACTUALIZACIÓN 1
Ing. Jhonny Santos Moran
Página 1 de 4
2. No olvidemos:
1. Editar el atributo “Text” de los controles EditText, CheckBox y Button en el archivo
“activity_main.xml” de modo que se haga referencia a variables de tipo
“@string/<nombre_de_variable>”, cuyo valor de la variables será definido en el archivo
string.xml de la siguiente manera: <string name="/<nombre_de_variable>"> Valor de
variable </string>
SEMINARIO DE ACTUALIZACIÓN 1
Ing. Jhonny Santos Moran
Página2de4
3. 2. Inicializar la propiedad OnClick del objeto button con el valor "operar" (es el nombre del
método a ejecutarse cuando se presione el botón y lo implementa la clase que hacemos)
package com.androiya.proyecto004;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
private EditText et1,et2;
private TextView tv3;
private CheckBox checkBox1,checkBox2;
@Override
protected 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);
checkBox1=(CheckBox)findViewById(R.id.checkBox1);
checkBox2=(CheckBox)findViewById(R.id.checkBox2);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
//Este método se ejecutará cuando se presione el botón
public void operar(View view) {
String valor1=et1.getText().toString();
String valor2=et2.getText().toString();
int nro1=Integer.parseInt(valor1);
int nro2=Integer.parseInt(valor2);
SEMINARIO DE ACTUALIZACIÓN 1
Ing. Jhonny Santos Moran
Página3de4
4. String resu="";
if (checkBox1.isCheckedü==true) {
int suma=nro1+nro2;
resu="La suma es: "+ suma;
}
if (checkBox2.isCheckedü==true) {
int resta=nro1‐nro2;
resu=resu + " La resta es: "+ resta;
}
tv3.setText(resu);
}
}
Definimos dos objetos de la clase CheckBox como atributos de la clase:
private CheckBox checkBox1,checkBox2;
En el método onCreate los inicializamos con los objetos definidos en el archivo XML:
checkBox1=(CheckBox)findViewById(R.id.checkBox1);
checkBox2=(CheckBox)findViewById(R.id.checkBox2);
En el método operar debemos definir dos if a la misma altura ya que los dos controles de tipo CheckBox
pueden estar seleccionados simultáneamente. 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 (checkBox1.isCheckedü==true) {
int suma=nro1+nro2;
resu="La suma es: "+ suma;
}
if (checkBox2.isCheckedü==true) {
int resta=nro1‐nro2;
resu=resu + " La resta es: "+ resta;
}
tv3.setText(resu);
SEMINARIO DE ACTUALIZACIÓN 1
Ing. Jhonny Santos Moran
Página 4 de 4