Merhaba arkadaşlar , uygulamalarımızda TextView kontrolerimize girilebilicek değerler belirli ise kullanım kolaylığı yaratmak adına AutoComplete özelliğini kullanabiliriz.Android’de bunu AutoCompleteTextView ile yapabiliriz.Önceden tanımlı olan değerler TextView kontrolüne bağlanarak çalışma anında kullanıcının girdiği değerlere göre altta açılıp kullanıcının seçimine göre TextView kontrolüne atanması ile bu durumu özetleyebiliriz.Örneğin siz uygulamanızda kullanıcıdan veri alırken il seçimide yapmasını istediniz, kullanıcı il TextView kontrolüne veri girmeye başladığı an yazdığı karakterleri içerisinde barındıran il isimleri aşagıda listelenmeye başlayacaktır, kullanıcı buradan bir tanesini seçerek istediğini hızlıca TextView kontrolüne aktarabilir böylelikle kullanışlı bir işlev kazandırmış oluruz.Kullanım örneği için bir tane proje oluşturalım ve ana .xml dosyamızın içerisine bir tane AutoCompleteTextView kontrolü ekleyelim
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <AutoCompleteTextView android:id="@+id/etIller" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </AutoCompleteTextView> </LinearLayout>
Ana activity sınıfımızın içeriği ise şu şekilde
package com.Auto; import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; public class AutoCompleteActivity extends Activity { AutoCompleteTextView etIller; private static String[] iller = new String[] { "Antalya", "Ankara", "Adana", "Adıyaman", "Afyonkarahisar", "Amasya", "İstanbul", "Artvin", "Balıkesir", "Aydın", "Bolu", "Çanakkale", "Edirne", "Gaziantep", "Kastamonu", "Mardin", "Tokat", "İzmir" }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); etIller = (AutoCompleteTextView) findViewById(R.id.etIller); ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.list_iller, iller); etIller.setAdapter(arrayAdapter); } }
.xml arayüz’ünde tanımladığımız AutoCompleteTextView kontrolümüze ulaşıyoruz ve hazırladığımız iller dizimizi setAdapter() method’u yardımı ile bağlıyoruz.
list_iller.xml dosyamız
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="8dp" android:textSize="18dp" > </TextView>
AutoCompletetextView kontrolümüze dizimizde bulunan iller’den herhangi birini yazmaya başladığımız zaman aşagıdaki gibi bir görünüm oluşacaktır
Diğer tüm detaylar için developer.android sitesini buradan inceleyebilirsiniz
Kaynak Kodları Buradan İndirebilirsiniz