ANDROİD

Android Dersleri 6

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.

1

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.

2

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

1

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

2

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

rg1.getCheckedRadioButtonId();

Bu bize RadioGroup içerisinde seçilen Radiobuton’un id‘sini verir. Daha sonra int tipindeki bu id’yi ,switchiç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.

33 34

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.

RadioButon 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 buRadioButton 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.

if(cb.isChecked()) {  // Eğer seçilmişse, yapmak istediklerimizi buraya yazarız  }

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

cb.setChecked(true);  cb.setChecked(false);

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

public void onCheckedChanged(CompoundButton x1, boolean x2)   {   // Yapılacaklar   }

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.

rb1.getText().toString();

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 olarakTableLayout kullanırsanız nesneleri daha rahat yerleştirebilirsiniz.

1

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.

3

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:

Toast.makeText(hangi activiy için mesaj verilecek, verilecek mesaj, mesajın süresi).show();

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;

Toast.makeText(MainActivity.this, “Bu bir toast mesajıdır”, Toast.LENGTH_SHORT).show();

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.

Etiketler

İlgili Makaleler

Bir cevap yazın

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

Göz Atın

Kapalı
Başa dön tuşu
Kapalı
Kapalı