Genel

Android -> Kotlin ile Checkbox işlemleri

Merhabalar,

Bu dersimizde basit bir şekilde checkbox’ların kullanımını kotlin ile inceleyeceğiz.

Birden fazla seçeneği işaretlemenize olanak sunan bu basit arayüz elemanı ile ilgili detaylı bilgiyi aşağıdan inceleyebilirsiniz.

//developer.android.com/guide/topics/ui/controls/checkbox

Basitçe yukarıdaki gibi bir görünüme sahiptir.

Hadi Kodlayalım..

layout dosyamız :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="//schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

    <androidx.appcompat.widget.AppCompatCheckBox
            android:id="@+id/cb_kotlin"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Kotlin"
            android:layout_centerHorizontal="true"
            android:layout_alignLeft="@id/cb_android"/>

    <androidx.appcompat.widget.AppCompatCheckBox
            android:id="@+id/cb_android"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Android"
            android:layout_below="@id/cb_kotlin"
            android:layout_centerHorizontal="true"/>

    <Button
            android:id="@+id/btn_sonuc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hangisini Seviyorsun"
            android:layout_below="@id/cb_android"
            android:layout_centerHorizontal="true"/>
</RelativeLayout>

Yukarıdaki layout dosyamızda 2 checkbox ve 1 Button ‘a sahibiz.

class CheckBoxActivity : AppCompatActivity(){

    /* Kotlin 'de değer atamadan geçiş sağlayamıyoruz. Nullsafe 'i korumak amaç.
    Lakin lateinit ile bir class içerisinde init edeceğimizin garantisini veriyoruz.
    */
    private lateinit var btnSonuc: Button
    private lateinit var cb_android : CheckBox
    private lateinit var cb_kotlin: CheckBox

    override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
        super.onCreate(savedInstanceState, persistentState)
        setContentView(R.layout.check_box_example)

        btnSonuc = findViewById(R.id.btn_sonuc)
        cb_android = findViewById(R.id.cb_android)
        cb_kotlin = findViewById(R.id.cb_kotlin)

        btnSonuc.setOnClickListener {
            var result = "Selected Programming Language"
            if (cb_android.isChecked) {
                result = "\nandroid"
            }
            if (cb_kotlin.isChecked) {
                result = "\nkotlin"
            }
            Toast.makeText(this, result, Toast.LENGTH_LONG)
        }
    }
}

Yukarıdaki kodumuzda ise basitce button ve 2 checkbox ‘ımızı ayarladık. Sonrasında da setOnClickListener ile butona tıklandığında durumlarını kontrol ettik.

Button eventları için : /2019/11/kotlin-ile-button-eventlari/

Sonucu da ekranda yazdırdık. Basit kullanımı yukarıdaki gibi. İstenirse yukarıda google dokümanında belirttiğim gibi de kullanabilirsiniz. Bu durumda checkbox ‘a tıklandığında bişey tetiklenecekse kullanılabilir.

fun onCheckboxClicked(view: View) {
    if (view is CheckBox) {
        val checked: Boolean = view.isChecked

        when (view.id) {
            R.id.cb_android -> {
                if (checked) {
                    // Android işaretledin.
                } else {
                    // İşaretlemedin.
                }
            }
            R.id.cb_kotlin-> {
                if (checked) {
                    // Kotlin İşaretledin
                } else {
                    // Hayır İşaretlemedin
                }
            }
          
        }
    }
}

One thought on “Android -> Kotlin ile Checkbox işlemleri

Bir cevap yazın

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