Android Spinner ile Çalışma

Spinner‘ların ne olduğu ve nasıl çalıştıkları ile ilgili esasen bilgili oldunuz. Öyleyse bir örneğe bakalım ve onu Android Uygulamamızda nasıl uygulayabileceğimizi öğrenelim.

Bu eğitimde, bağımsız iki Spinner ile çalışan bir uygulama oluşturacağız. Uygulamanın ana düzeni, bir TextView ve alt bileşen görünümleri olarak iki Spinner içerecektir. Bu nedenle, bir Spinnerin TextView’un altına yerleştirildiği ve diğer spinnerin ilk spinnerin altına yerleştirildiği düzeni (aşağıdaki görselde gösterilen) özelleştirmemiz gerekiyor.

İkinci Spinner içindeki seçenekler, ilk Spinnerda ne seçtiğimize bağlı olacağından, başlangıçta ikinci spinner gizlenecek ve sadece kullanıcı ilk spinnerdan bir seçenek seçtiğinde görünecektir.

İkinci spinner, isVisible eşittir GONE özelliğini sunantir; bu, düzende var olduğu, yalnız görünür olmayacağı (ya da gizleneceği) anlamına gelir.

Bu nedenle, aşağıdaki görselde, orada değil gibi görünüyor. Ancak orada olup olmadığını görmek için isVisible işaretini VISIBLE olarak değiştirmeyi deneyebilirsiniz. Ama sonra şimdilik GONE olarak değiştirin.

İlk Spinner(classSpinner) kullanıcı tarafından seçilecek iller listesini ve bu seçime göre dşayetleri ikinci Spinner(divSpinner) a atayacağız. Kullanıcı ikinci spinner’dan da bir opsiyon seçtiğinde, bir Tost oluşturacağız ve seçilen dşayetleri ekranda görüntüleyeceğiz.

Öyleyse başlayalım, burada düzen XML dosyasına sahibiz. İsterseniz, mahalli makinenizde bu örnekle başlamak için aşağıdaki XML’i kopyalayıp yapıştırın.

main_activity.xml

NOT: Bunda bir hata alıyorsanız, bunun sebebi aşağıdaki veri XML dosyasını henüz oluşturmamış olmanızdır. Bunu oluşturduktan sonra, bu dosyadaki hata çözülecektir.
Gördüğünüz gibi, xml dosyası içinde bir kaç özelliğin yanı sıra bir TextView ve iki Spinner görünümüne sahibiz.

Spinner unsur eklemek için, ona bir dizi seçenek sunmanın iki olası yolu vardır. Bir dizi bildirerek ve içindeki unsurları tanımlayarak. Ancak bu örnek için diğer yolu deneyeceğiz, yani bir XML kullanarak.Aşağıda strings.xml dosyasında gösterdiğimiz gibi XML’de bir string dizisi tanımlayabiliriz. Android’de, strings.xml dosyamız gibi veri XML dosyalarını app → res → işaretler → strings.xml içine koymalıyız.

string.xml

Şimdiye kadar, aşağıdaki şeylerle işimiz bitti:

1 TextView ve 2 Spinner‘a sahip olacak olan Android Uygulamamızda oluşturduğumuz dizaynı anladık.
Kullanıcı kullanıcı arayüzü için layout XML’i tanımladık.
Ayrıca Spinnerlar için veri setimizi tanımladık.
Veri kümemizde, unsurları açılır listede görüntülemek için iller isimli string dizisi spinnerIller‘e atanacaktır.

Bu girişleri spinnere eklemek için tek yapmamız gereken, main_activity düzeni XML dosyasına android:entries=”@array/iller” özelliğini eklemek. Bunu yapmak, iller dizisinde bulunan işaretleri spinnerIllere atayacaktır.

Kullanıcının ilk spinnerdaki opsiyonu seçmesine bağlı olarak, ikinci Spinner, ilk spinner tercihine dayalı seçeneklerle beraber görünecektir. Kullanıcı, çalışma zamanında, yani hareketli olarak ilk açılır menüden seçeceği için bunu Java kodu vasıtasıyla yapacağız.

GUI olaylarını sürdürmek için MainActivity.java dosyasının içindeki kodu uygulamamız gerekiyor. Her iki spinnerın örneklerini oluşturarak başlayacağız ve sonrasında her iki spinnera setOnItemSelectedListener() atayacağız.

MainActivity.java

Birinci Spinner işaretine göre ikinci Spinner İşaretini Değiştirme

spinnerIller‘in onItemSelected() metodunun içinde, açılır listeden seçilen unsuru almanız ve bu işarete bağlı olarak, string dizisi kaynağından spinnerIlceler‘e girişler, yani seçenekler atamanız gerekir. Aşağıdaki kodu spinnerIller‘in onItemSelected() tekniğinin içine ekleyin.

MainActivity.java

spinnerIllerden seçilen adın işaretini alabiliriz. Bunun için apadapterView.getSelectedItem().toString() metodunu kullandık. Burada ebeveyn, spinnerIller görünümünün değeridir.

İlk açılır menüde sınıfın adını seçtikten sonra, ikinci açılır menüyü makul işaretlerle başlatmak için kolay bir geçiş durumu kullanabiliriz.

Bir ArrayAdapter’ı ilgili string-array ile başlatacağız ve adaptörü ikinci spinner spinnerIlcelerimize yönlendireceğiz.

XML’deki dize kaynağından dize dizisine erişmek için getResources().getStringArray(ID_ARRAY) tekniğini kullanmamız gerekecek.

Ve sonunda, ikinci spinner visibility özelliğini VISIBLE olarak ayarlayacağız.

Seçilen işaretleri göstermek için bir Toast oluşturma

Ardından, kullanıcı ikinci Spinner’dan bir seçenek seçtiğinde, bir Tost oluşturacağız ve seçilen işaretleri ekranda görüntüleyeceğiz.

Tüm MainActivity Kodları:

Android programınızı çalıştırdığınız zaman, ilk unsur esasen spinnera atanmış olmasından varsayılan olarak ilk toast mesajını alacaksınız. Bunun için endişelenme. Sadece gidin ve birinci bölüm açılır menüleri için spinner seçimini değiştirmeye çalışın ve sonuçları aşağıdaki görseller gibi görmelisiniz.

Android Spinner Örnekleri

Ayrıca Kontrol Edin

C++ Girilen Metnin Uzunluğunu Bulma

C++ ile kullanıcının girdiği bir kelimenin karakter sayısını bulan ve ekranda gösteren uygulama: C++ Kodları: …

Bir cevap yazın

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