Anasayfa / Android Dersleri / Android Dersleri 6 : RadioButton-CheckBox Kullanımı ve Toast Mesajı

Android Dersleri 6 : RadioButton-CheckBox Kullanımı ve Toast Mesajı

Merhaba arkadaşlar. Bu dersimizde, sayfalarımızda kullanacağımız araçlardan RadioButton ve CheckBox kullanımını anlatacağım. Bu araçlardan CheckBox, çoklu seçim için kullanılır. RadioButton ise tekli seçim için kullanılır.

İlk olarak bir proje oluşturalım. Proje oluşturmada sıkıntı yaşıyorsanız ilk derslerimize bakabilirsiniz. Uygulamamızdaki tek sayfa olan activity_main.xml sayfasının görsel kısmına gelelim. Hep activity_main.xml diyoruz fakat default ayarlarla projemizi oluşturduysak bu isimde gelecektir. Projeyi oluştururken bu sayfanın ismini ve aktivity ismini belirleyebiliriz.

Sayfamıza soldaki panelden 3 adet RadioButton ve 4 adet CheckBox ekleyelim. Bunların üzerlerine de 2 adet TextView ekleyelim ve uygun yazımızı yazalım. Ben uygulamamda şu şekilde eklemeler yaptım.

radiobutton

Yukarıdaki 3 adet RadioButon’lardan 1 tanesini seçebileceğiz. Fakat alttaki 4 CheckBox’tan istediğimiz kadar seçim yapabileceğiz. Bu iki araç arasındaki farkı bilmiyorsanız bu şekilde ayırt edebilirsiniz.

Şimdi burada yapmamız gereken birşey var. Biz RadioButton’lardan sadece 1 tanesine tıklanmasını istiyorsak bunları RadioGroup içerisine almamız gerekir. Bunu xml sayfamızda yapıyoruz. RadioButonlarımızı, RadioGroup etiketleri arasına alıyoruz.

radiobutton

Bu işlemi yaptıktan sonra artık RadioButonlardan yalnızda birini seçebileceğiz. Şimdi MainActivity.java dosyamıza gelelim ve kodlarımızı aşağıdaki gibi yazalım.

radiobutton

Bu kodların devamına şunları da ekleyelim.

radiobutton

Burada RadioButonların seçilip seçilmediğinin kontrolünü şu kodla yaptık.

Bu bize RadioGroup içerisinde seçilen Radiobuton’un id‘sini verir. Daha sonra int tipindeki bu id’yi ,switch içerisine koyduk ve hangisinin seçildiğinin kontrolünü yaptık. CheckBox için de isChecked() metodunu kullandık. Bu metod, seçili olup olmadığını boolean türünde bize döndürür. Eğer seçiliyse, metin değişkenimize istediğimiz metni ekliyoruz ve son olarak bunu toast ile ekrana gösteriyoruz. Toast, ekranda bir metnin yazılmasını sağlar. Kısa bir süre sonra bu metin kaybolur. Programı çalıştırdığımızda çıktımız şu şekilde olacaktır.

radiobutton radiobutton

Takımı seçerken yalnızca bir tane seçebiliyoruz fakat dil seçerken birden fazla seçebiliyoruz. Eğer takım seçimindeki RadioButonları, RadioGroup içerisine almasaydık birden fazla seçebilecektik. O yüzden bunları RadioGroup içerisine almamız gerekiyor.

RadioButton ve CheckBox Kullanımı ile Başka Bir Örnek

Şimdi yeni bir örnek yapalım. Örneğimize başlamadan önce bu örneği farklı yoldan yapacağımız için bu RadioButton ve CheckBox için kullanılan metodları gösterelim.

Bir CheckBox’ın seçili olup olmadığını isChecked() metodu ile anlarız. Kullanımı ise şu şekildedir.

CheckBox’ın seçimini kod ile yapmak istiyorsak setChecked() metodunu kullanmalıyız. Bunun kullanımı ise şu şekildedir.

Ekrandaki CheckBox’ların herhangi birinin seçimi değiştirildiğinde ise onCheckChanged() metodu kullanılır. Bunun kullanımı şu şekildedir.

Fakat bunu, setOnCheckedChangeListener ile (bu listener içerisinde) kullanmamız gerekiyor. Çünkü ilk olarak Listener ile ortamın dinlenmesi gerekir. Daha sonra yapılacak işlemin gösterilmesi gerekiyor.

RadioButon ile ilgili de şunu söyleyelim. RadioButonun üzerinde yazan yazıyı almak için aşağıdaki metod kullanılır.

Buradaki rb1, RadioButon nesnesinin ismidir. Bu metoddan dönen değeri bir String değişkene atayabiliriz.

Şimdi ilk olarak yeni bir proje oluşturalım. Projemizin görünümünü aşağıdaki gibi yapalım. Layout olarak TableLayout kullanırsanız nesneleri daha rahat yerleştirebilirsiniz.

radiobutton

Uygulamamızda CheckBox’ı seçtiğimizde buton aktif hale gelsin. Eğer onayı kaldırırsak tekrar silik olsun. Bunun için java dosyamıza gelelim ve şu kodları yazalım.

radiobutton

Uygulamamızı çalıştırdığımızda CheckBox’a tıklanınca buton aktif hale gelecektir. İşareti kaldırdığımızda ise sönük olacaktır.

Toast Kullanımı

Eğer uygulamamızda, bir süreliğine bir mesaj gösterilmesini ve daha sonra da mesajın kaybolmasını istiyorsak toast kullanırız.

Kullanımı ise şu şekildedir:

Buradaki parametrelerden ilki, hangi activity için mesaj verilmek istendiğidir. 2.parametre ise gösterilecek olan String tipindeki mesajdır. Son parametre de mesajın ekranda kalacağı süredir. Örnek bir kullanım verirsek;

Buradaki 2.parametreye doğrudan mesajı değil de bir String tipindeki değişkeni de verebiliriz. Son parametreye de 0 ya da Toast.LENGHT_LONG verebiliriz.

Mehmet Kirazlı

İstanbul Eyüp'te ikamet ediyorum. Giresun Alucra'lıyım. Bilgisayar Mühendisliği bölümünden 2013 yılında mezun oldum. "Yeni Başlayanlar için Java 8" kitabının yazarıyım. Şu anda özel bir firmada Mobil Yazılım Geliştirme Uzmanı olarak çalışıyorum.

İlginizi Çekebilir

Android Dersleri 29 : Telefon Rehberi Uygulaması Yapıyoruz

Merhaba. Yine uzunca bir aradan sonra yazmaya devam ediyorum. Bu yazımda,  veritabanında değinmediğim Where ifadesine yer …

10 Yorumlar

  1. Guzel anlatim ve paylasimlar icin tesekkurler. Kodu yazamadim ama son kisimda gozden kacan ufak bir nokta olmus sanirim. Button’u enable/disable etmek icin c1.setEnabled() yerine b1.setEnabled() kullanilmasi gerekir. Ve Buton’un aktiflik durumunun program ilk calistiginda setEnabled(false) olarak baslamasi uygun olur. Bunlar anlatimi etkileyen noktalar degil ama ilk defa kodu yazip deniyen arkadaslar icin kafa karistirici olabilir diye belirtmek istedim.

  2. Hocam iyi günler. Sizin yazdığınız şekilde 1. örneği yazdım ama hata veriyor. derlemiyor. Androidde yeniyim yardımcı olursanız sevinirim.

    [2014-10-30 08:58:48 – 6_RadioButton_CheckBoxProjectName] Installation failed due to invalid APK file!
    [2014-10-30 08:58:48 – 6_RadioButton_CheckBoxProjectName] Please check logcat output for more details.
    [2014-10-30 08:58:48 – 6_RadioButton_CheckBoxProjectName] Launch canceled!

  3. sa abi çok ıyı yapmıssınız yenı uygulamar ısteyoruzz bezz

  4. Hocam bu int butonid=rg1.getCheckedRadiobuttonId hat verior rg1 “neden ???

  5. Hocam selam,

    Buton tanımlarken Final yazmayınca başına if içerisinde b1 ler hata veriyor. Final yazmamızdaki amaç nedir ?
    İkincisi buton tanımladıktan sonra altına
    b1.setEnabled(false); yazarsak program açılışta buton pasif gelir. Onay tıklanınca aktif oluyor böylesi daha güzel oldu sanki bu bir öneri sadece.

  6. Bu menülerin c programda benzeri nasıl yazılabilir?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir