Blog chia sẻ kinh nghiệm lập trình Android
Chào các bạn hôm nay mình sẽ hướng dẫn các bạn cách bắt sự kiện ngay sau khi tick vào checkbox hay bỏ tích khỏi check box, như đã hướng dẫn ở bài trước chúng ta không sử dụng event cho check box mà sử dụng chekbox thông qua event của button.
Các bạn tạo 1 project với tên các bạn đặt tùy ý, trong file mainactivity.xml các bạn thêm cho mình một checkbox có id là check
Code:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000FFF"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
android:textSize="25dp"
android:gravity="center"
android:text="Demo Check box in android" />
<LinearLayout
android:layout_marginTop="20dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FF45FF"
android:orientation="vertical" >
<TextView
android:id="@+id/textView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="20dp"
android:background="#ffffff"
android:text="chuyển 2G/3G" />
<CheckBox
android:id="@+id/chb2g3g"
android:layout_marginTop="20dp"
android:layout_width="266dp"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginLeft="30dp"
android:text="2G is available "
android:layout_marginBottom="20dp"
android:textColor="#FFFFFF" />
</LinearLayout>
<Button
android:id="@+id/btexit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:text="exit" />
</LinearLayout>
Vậy là xong phần giao diện, các bạn chuyển sang phần main.class để tạo event cho checkbox
//tạo event cho checkbox
checkBox.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
}
});
Sau khi hoàn tất các công đoạn , chúng ta chạy thử và ứng dụng sẽ như thế này .
full code main.class package com.example.demo_chekbox; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.Toast; public class MainActivity extends Activity { Button btexit; CheckBox checkBox; // khởi tạo context để sử dụng Dialog Context context=this; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // khai báo Id btexit=(Button)findViewById(R.id.btexit); checkBox=(CheckBox)findViewById(R.id.chb2g3g); // gọi phương thức sử lí checkboxx chekbox2g3g(); // gọi phương thức thoát khỏi ứng dụng method_exit(); }//oncreate // tạo phương thức sử lí checkbox public void chekbox2g3g() { //tạo event cho checkbox checkBox.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // mặc định ban đầu check box chưa đk tích và ở chế độ 2 G // khi click vào check box sẽ chuyển lên 3G if(checkBox.isChecked()) { // xử lí khi check box được chọn checkBox.setText("3G is available");// thay đổi text của check box Toast.makeText(getApplication(), "Mạng 3G", 1).show(); }else// chỉ ở 2G nếu checkboxx không được check { // xử lí khi check box KHÔNG được chọn checkBox.setText("2G is available");// thay đổi text của check box Toast.makeText(getApplication(), "Mạng 2G", 1).show(); } } }); } // phương thức thoát ưng dụng public void method_exit() { btexit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //khởi tạo dialog hỏi xem có thoát hay không AlertDialog.Builder b = new AlertDialog.Builder(context); b.setTitle("Thoát ứng dụng");// tiêu đề của dialog b.setMessage(" Thông báo !");//để viết thông báo của dialog b.setNegativeButton("No", null);// tạo nút No trong dialog và khi click vào // thì không làm gì cả b.setNeutralButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { // tạo nut "Yes" trên dialog khi nhấn vào sẽ thoát khỏi ứng dụng System.exit(0); } }); // sau khi có đầy đủ các thuốc tính của dialog thì gọi dialog khi nhấn Button exit b.show(); } }); } }
Vào giao diện đầu tiên khi chưa chọn checkbox
Chọn checkbox lập tức toast sẽ hiện thông báo chuyển sang mạng 3g đồng thời text của checkbox cũng chuển sang mạng 3G
chọn Exit thì dialog hỏi thoát sẽ xuất hiện
Chúc các bạn thành công.
Mọi thắc mắc các bạn liên hệ mình qua địa chỉ Gmail :
svk10acntt@gmail.com hoặc Fb: John Ly Phạm
0 comments:
Post a Comment
http://knlaptrinhandroid.blogspot.com/