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 } } } } }
Geri bildirim: Mayıs Ayı Bülten | Ümit KÖSE