Android | CheckBox örneği

Written by Super User. Posted in Android Anlatımlar

Android Widget kullanımlarını örneklendirdiğim makalelere bu gün CheckBox kullanımını örnekleyen makaleyi de ekleyelim. Her zamanki gibi önce ortaya çıkacak ekran görüntümüzü verelim;

Layout dosyamız main.xml


<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="İlgilendiğiniz konuları seçiniz:" /> <CheckBox android:id="@+id/checkBox1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/textView1" android:text="Bilgisayar" android:checked="true" /> <CheckBox android:id="@+id/checkBox3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/checkBox1" android:text="Tiyatro" /> <CheckBox android:id="@+id/checkBox2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/checkBox3" android:layout_marginLeft="47dp" android:layout_toRightOf="@+id/checkBox1" android:text="Müzik" /> <CheckBox android:id="@+id/checkBox4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/checkBox3" android:layout_alignBottom="@+id/checkBox3" android:layout_alignLeft="@+id/checkBox2" android:text="Kitaplar" /> <CheckBox android:id="@+id/checkBox5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/checkBox3" android:text="Yemekler" /> <CheckBox android:id="@+id/checkBox6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/checkBox4" android:layout_below="@+id/checkBox4" android:text="Moda" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/checkBox5" android:text="Gönder" /> </RelativeLayout>

Yapılanı çok fazla açıklamaya gerek duymadım. Kısa açıklamaları yorum satırlarıyla belirttim.

package com.gokselguren.checkbox;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Toast;

public class MainActivity extends Activity {
	/** Called when the activity is first created. */
	private CheckBox cb1, cb2, cb3, cb4, cb5, cb6;
	private Button b1;
	ArrayList<String> stringArray = new ArrayList<String>();

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		cb1 = (CheckBox) findViewById(R.id.checkBox1);
		cb2 = (CheckBox) findViewById(R.id.checkBox2);
		cb3 = (CheckBox) findViewById(R.id.checkBox3);
		cb4 = (CheckBox) findViewById(R.id.checkBox4);
		cb5 = (CheckBox) findViewById(R.id.checkBox5);
		cb6 = (CheckBox) findViewById(R.id.checkBox6);
		b1 = (Button) findViewById(R.id.button1);
		
		//cb1 listener-action
		//Seçildiğinde ve seçim iptal edildiğinde bunu toast'la ekranda göster
		cb1.setOnCheckedChangeListener(new OnCheckedChangeListener() {

			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				// TODO Auto-generated method stub
				if (cb1.isChecked()) {
					Toast.makeText(getApplicationContext(),
							cb1.getText().toString() + " Seçildi", 0).show();
				} else {
					Toast.makeText(getApplicationContext(),
							cb1.getText().toString() + " İptal Edildi.", 0)
							.show();

				}

			}
		});
		
		//cb2 listener-action
		cb2.setOnCheckedChangeListener(new OnCheckedChangeListener() {

			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				// TODO Auto-generated method stub
				if (cb2.isChecked()) {
					Toast.makeText(getApplicationContext(),
							cb2.getText().toString() + " Seçildi", 0).show();
				} else {
					Toast.makeText(getApplicationContext(),
							cb2.getText().toString() + " İptal Edildi.", 0)
							.show();

				}

			}
		});
		
		//cb3 listener-action
		cb3.setOnCheckedChangeListener(new OnCheckedChangeListener() {

			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				// TODO Auto-generated method stub
				if (cb3.isChecked()) {
					Toast.makeText(getApplicationContext(),
							cb3.getText().toString() + " Seçildi", 0).show();
				} else {
					Toast.makeText(getApplicationContext(),
							cb3.getText().toString() + " İptal Edildi.", 0)
							.show();

				}

			}
		});
		
		//cb4 listener-action
		cb4.setOnCheckedChangeListener(new OnCheckedChangeListener() {

			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				// TODO Auto-generated method stub
				if (cb4.isChecked()) {
					Toast.makeText(getApplicationContext(),
							cb4.getText().toString() + " Seçildi", 0).show();
				} else {
					Toast.makeText(getApplicationContext(),
							cb4.getText().toString() + " İptal Edildi.", 0)
							.show();

				}

			}
		});
		
		//cb5 listener-action
		cb5.setOnCheckedChangeListener(new OnCheckedChangeListener() {

			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				// TODO Auto-generated method stub
				if (cb5.isChecked()) {
					Toast.makeText(getApplicationContext(),
							cb5.getText().toString() + " Seçildi", 0).show();
				} else {
					Toast.makeText(getApplicationContext(),
							cb5.getText().toString() + " İptal Edildi.", 0)
							.show();

				}

			}
		});
		
		//cb6 listener-action
		cb6.setOnCheckedChangeListener(new OnCheckedChangeListener() {

			public void onCheckedChanged(CompoundButton buttonView,
					boolean isChecked) {
				// TODO Auto-generated method stub
				if (cb6.isChecked()) {
					Toast.makeText(getApplicationContext(),
							cb6.getText().toString() + " Seçildi", 0).show();
				} else {
					Toast.makeText(getApplicationContext(),
							cb6.getText().toString() + " İptal Edildi.", 0)
							.show();

				}

			}
		});

		b1.setOnClickListener(new OnClickListener() {
			
			public void onClick(View v) {
				//Gönder buttonuna tıklandığında tüm seçili olan CheckBox textlerini alıp toast mesajında gösterelim
				String text = "";
				if (cb1.isChecked()) {
					text = text +" "+ cb1.getText().toString() + "\n";
				}
				if (cb2.isChecked()) {
					text = text +" "+ cb2.getText().toString()+ "\n";
				}
				if (cb3.isChecked()) {
					text = text +" "+ cb3.getText().toString()+ "\n";
				}
				if (cb4.isChecked()) {
					text = text +" "+ cb4.getText().toString()+ "\n";
				}
				if (cb5.isChecked()) {
					text = text +" "+ cb5.getText().toString()+ "\n";
				}
				if (cb6.isChecked()) {
					text = text +" "+ cb6.getText().toString()+ "\n";
				}
				Toast.makeText(getApplicationContext(), "Seçili olanlar: \n" + text , 0).show();

			}
		});
	}
}