CheckBox
Revisión del 18:58 7 oct 2016 de Wiki (discusión | contribuciones) (Página creada con «==Introdución== *Un '''CheckBox''' permite ao usuario elixir unha ou máis opcións dentro dun conxunto. Image:00_checkboxes.png *Este control ao igual que ToggleButt...»)
Introdución
- Un CheckBox permite ao usuario elixir unha ou máis opcións dentro dun conxunto.
- Este control ao igual que ToggleButton e Switch herda da clase CompoundButton, quen, á súa vez, herda da clase Button.
- Imaxe obtida de: http://www.itcsolutions.eu/2011/08/27/android-tutorial-4-procedural-vs-declarative-design-of-user-interfaces
- Por tanto, funcionan da mesma maneira, pero ademais este control:
- Ten 2 estados (True/False), que podemos comprobar co método isChecked ().
- Para xestionar os eventos podemos facelo da mesma forma que nos botóns.
- Para usalo nun XML layout usar a etiqueta <CheckBox/>
- Referencias:
- O control CheckBox: http://developer.android.com/reference/android/widget/CheckBox.html
- Introdución ao CheckBox: http://developer.android.com/guide/topics/ui/controls/checkbox.html
Caso práctico
- Creamos un novo proxecto: U2_10_CheckBox
- Imos crear unha aplicación na que o usuario indique as súas afeccións ("Aficiones").
- CheckBox
Layout xml
- Cada CheckBox chama a un método cando se marca ou desmarca ese CheckBox.
- O método é o mesmo para os tres.
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 android:layout_width="match_parent"
3 android:layout_height="match_parent"
4 android:orientation="vertical" >
5
6 <CheckBox
7 android:id="@+id/chk_informatica"
8 android:layout_width="wrap_content"
9 android:layout_height="wrap_content"
10 android:onClick="controlarAfeccions"
11 android:text="Informática" />
12
13 <CheckBox
14 android:id="@+id/chk_ler"
15 android:layout_width="wrap_content"
16 android:layout_height="wrap_content"
17 android:onClick="controlarAfeccions"
18 android:text="Ler" />
19
20 <CheckBox
21 android:id="@+id/chk_deporte"
22 android:layout_width="wrap_content"
23 android:layout_height="wrap_content"
24 android:onClick="controlarAfeccions"
25 android:text="Deportes" />
26
27 <EditText
28 android:id="@+id/txt_resultado"
29 android:layout_width="match_parent"
30 android:layout_height="wrap_content"
31 android:hint="Resultado" />
32
33 </LinearLayout>
Código Java
1 package com.example.u2_10_checkbox;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.view.Menu;
6 import android.view.View;
7 import android.widget.CheckBox;
8 import android.widget.EditText;
9
10 public class U2_10_CheckBox extends Activity {
11
12 @Override
13 protected void onCreate(Bundle savedInstanceState) {
14 super.onCreate(savedInstanceState);
15 setContentView(R.layout.activity_u2_10__check_box);
16 }
17
18 @Override
19 public boolean onCreateOptionsMenu(Menu menu) {
20 // Inflate the menu; this adds items to the action bar if it is present.
21 getMenuInflater().inflate(R.menu.u2_10__check_box, menu);
22 return true;
23 }
24
25 public void controlarAfeccions(View view) {
26 CheckBox check = (CheckBox) view;
27
28 EditText caixa = (EditText) findViewById(R.id.txt_resultado);
29 if (check.isChecked())
30 caixa.setText("Marcaches: " + check.getText());
31 else
32 caixa.setText("Desmarcaches: " + check.getText());
33 }
34 }
- Liña 25, recibimos a Vista do elemento pulsado hai que facer un casting para convertelo ao tipo CheckBox.
- Liña 29, comprobamos se se marcou ou desmarcou o control.
-- Ángel D. Fernández González e Carlos Carrión Álvarez -- (2015).
