4 Mart 2015 Çarşamba

Adapter lar

1. ArrayAdapter:
veri kaynağı array ise bunu kullanırız.
Bu adapter her array elemanını toString() metodunu çağırarak TextView içine koyar.
Örnek:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_1, myStringArray);
ListView listView = (ListView) findViewById(R.id.listview);
listView.setAdapter(adapter);

Array elemanlarının toString() metodlarını değiştirerek gösterilen içeriği değiştirebiliriz.
Ya da her eleman için TextView yerine örneğin bir ImageView tanımlamak istiyosak; ArrayAdapter classını extend edip getView() metodunu override ederek her bir eleman için dilediğimiz görüntüyü oluşturabiliriz.

{}

2. SimpleCursorAdapter:
veri Cursor dan geliyorsa bunu kullanırız.
Cursor ın her bir rowu için hangi column ların hangi view da kullanılacak olduğunu bir layoutta belirtmek gerekir.

Örneğin telefon rehberinden bir liste yapacaksak her bir row için istediğimiz columnları belirten bir String array yaratırız. Buna karşılık hangi viewlarda göstermek istediğimizi de bir int arrayde belirtiriz. Şöyle ki:
String[] fromColumns = {ContactsContract.Data.DISPLAY_NAME,
                        ContactsContract.CommonDataKinds.Phone.NUMBER};
int[] toViews = {R.id.display_name, R.id.phone_number};

Adapter u instantiate ettiğimizde şu şekilde bağlantıyı kurarız:
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
        R.layout.person_name_and_number, cursor, fromColumns, toViews, 0);
ListView listView = getListView();
listView.setAdapter(adapter);


Hiç yorum yok:

Yorum Gönder