Bài 8: Cách sử dụng Checkbox, Radio Button trong Android

     Trong bài tập này, chúng ta cùng tìm hiểu về 2 thành phần: CheckBox RadioButton. Đây là 2 control thường xuyên được chúng ta sử dụng trong các chương trình.



- Một số phương thức thường sử dụng của CheckBox RadioButton:
 + Phương thức setChecked dùng để thiết lập việc checked. Nếu bạn gọi setChecked(true) thì có nghĩa là bạn cho phép CheckBox hoặc RadioButton được checked, và ngược lại setChecked(false) sẽ unchecked 2 control này.
 + Phương thức isChecked: Trả về một giá trị boolean: True hoặc False. Nếu control đang được check sẽ trả về giá trị True, và ngược lại unchecked trả về là False

- Cả CheckBox và RadioButton thường được thiết kế trong một RadioGroup. RadioGroup nhóm các CheckBox và RadioButton lại và thường dùng cho một mục đích nào đó. Tuy nhiên, CheckBox cho phép chúng ta checked nhiều đối tượng còn RadioButton thì tại một thời điểm chỉ cho phép ta checked 1 đối tượng trong cùng một group mà thôi.

- Các bạn xem hình sau để hiểu rõ hơn về CheckBox. Đây là ví dụ khi bạn muốn người sử dụng chọn lựa nhiều trường hợp do bạn đưa ra trong CheckBox.
CheckBox trong android
- Bạn cũng có thể thiết lập trạng thái checked cho CheckBox trong xml như sau :

<CheckBox android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Brazil"
            android:checked="true"/>

- Nếu bạn chỉ muốn người sử dụng chọn 1 trong các trường hợp mà bạn đưa ra thì bạn sử dụng RadioButton. RadioButton chỉ cho phép chọn 1 trong RadioGroup.
RadioButton trong Android
 - Các bạn xem cách thiết kế một RadioGroup
<RadioGroup android:id="@+id/rg1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        
        <RadioButton android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Brazil"/>
        
        <RadioButton android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Đức"/>
        
        <RadioButton android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Italia"/>
        
        <RadioButton android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Việt Nam"/>
        
    </RadioGroup>
 
- Dựa vào ví dụ thiết kế trên, các bạn đã hình dung và biết cách sử dụng RadioGroup để gom nhóm các RadioButton hoặc CheckBox vào thành một nhóm nào đó. Bởi vì RadioButton mà cùng một nhóm thì tại cùng thời điểm chỉ có 1 RadioButton được checked nên bạn có thể tạo nhiều nhóm RadioGroup để xử lý với các mục đích khác nhau

- Chúng ta có 2 cách để xử lý RadioButton nào được checked:
 + C1: Dựa vào RadioGroup để biết ID nào của RadioButton được checked. Dựa vào ID này chúng ta sẽ xử lý code theo những gì chúng ta mong muốn

        RadioGroup rg = (RadioGroup) findViewById(R.id.rg1);
        int idRadioButtonChecked = rg.getCheckedRadioButtonId();
        switch (idRadioButtonChecked) {
        case R.id.rbBrazil:
            break;
        case R.id.rbDuc:
            break;
        case R.id.rbItalia:
            break;
        case R.id.rbVietNam:
            break;
        } 
 + C2: Check trực tiếp xem RadioButton đó có được cheked hay không
        RadioButton rbDuc = (RadioButton)findViewById(R.id.rbDuc);
        if(rbDuc.isChecked()){
            //Xử lý với trạng thái checked
        }else{
            //Xử lý với trạng thái unchecked
        }

      Qua bài tập này, các bạn đã hiểu và biết cách sử dụng 2 control CheckBox và RadioButton. Trong bài tập sau, mình sẽ demo thêm ví dụ về CheckBox, RadioButton, Button, Editext để các bạn nắm vững hơn kiến thức về các control cơ bản này. Hẹn gặp lại các bạn ở các bài tiếp theo !

>>>Bài 9: Ví dụ tổng hợp CheckBox, RadioButton, Button, EditText...

No comments:

Post a Comment