Bu derste kendi oluşturduğumuz bir layout dosyasını listview’da bir satır olarak nasıl gösteririrz ondan bahsettim.
Listview örnekleri yapmaya devam ediyoruz ama farketmişsinizdir her bir örnekte listview öğelerini kendi isteklerimize göre kişiselleştirip geliştiriyoruz.
Her bir ders bir sonraki ders için temel oluşturacağı için lütfen takıldığınız yerleri sormaktan çekinmeyin.
Burada öncelikle veri kaynağımızı belirtiyoruz. Bu örneklte veriler mevsim bilgilerini içeren bir stirng dizi… Daha sonra listview’da her bir satırın nasıl gözükeceğini belli eden bir layout oluşturmustuk. Bu layoutu Arrayadapter’a parametre olarak yolluyoruz.
Bunun yanında bu layout’da veri kaynağından okunacak verinin nereye yazılacağını belirtiyoruz. Bizim örneğimizde bu bir textview olduğundan onun id’sini verdik ve son olarak da adapterin kullanacağı veri kaynağı olan string dizimizi yolluyoruz.
Son olarak oluşturduğumuz adapter nesnesini ilgili listemize setAdapter ile verdikten sonra uygulamamız çalışıyor…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
public class MainActivity extends AppCompatActivity { String[] mevsim = {"Sonbahar", "Kış", "İlkbahar", "Yaz"}; ListView liste; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); liste = (ListView) findViewById(R.id.listView); ArrayAdapter<String> adapter = new ArrayAdapter<String> (this, R.layout.tek_satir, R.id.textView, mevsim); liste.setAdapter(adapter); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="emrealtunbilek.com.listviewwithimage.MainActivity"> <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" android:id="@+id/listView" android:layout_alignParentStart="true" /> </RelativeLayout> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <ImageView android:layout_width="74dp" android:layout_height="77dp" app:srcCompat="@drawable/logo" android:id="@+id/imageView" /> <TextView android:text="" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView" android:layout_weight="1" /> </LinearLayout> |