Ders 19: Android ListView Uygulaması

1 Şubat 2012 Çarşamba
Yapacağım veritabanı uygulamasında ListView yapısını da kullanacağım için öncelikli olarak bunu açıklayıp, bir örnek üzerinde göstermek istedim.

ListView
·         Adından da anlaşılacağı üzere ListView verileri listelemek için kullanılan bir yapıdır. ListView’ler sayesinde bir grup veriyi listeleyebilir ve kullanıcının seçtiği veriyle işlem yapabilirsiniz.
Örneğin; ListView’de listelediğiniz ürünlerinizin bilgilerinin üzerlerine tıklandığında görüntülenmesini sağlayabilirsiniz.
Uygulama
Bazı tatlı isimlerini listeleyelim ve bunlardan bir tanesini seçtiğimizde, bize neyi seçtiğimizi söyleyen bir Android  uygulaması geliştirelim:
·         Main.xml içerisine gelelim ve içindeki kodları şu şekilde düzenleyelim:


<?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" >
<ListView
       android:id="@+id/listview"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent" />
</LinearLayout>


LinearLayout zaten main.xml’i açtığınızda tanımlı geliyor. Biz sadece yeni bir ListView oluşturuyoruz. Buna ID ataması yapıyoruz ve boyutunu da tüm ekranı kaplayacak şekilde ayarlıyoruz.
·         Java dökümanımızın içine geliyoruz. Bir ListView değişkeni yaratıyoruz, buna main.xml içerisindeki ListView’i atıyoruz. Tabi ki bunu yapmadan önce ListView için gereken import işlemini unutmuyoruz. Bu işlemleri yaptıktan sonra Java kodumuz şu hale geliyor: ( Eklediğim satırları belirtmek için arka planlarını renklendirdim!)

package com.listview;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;
public class ListViewActivity extends Activity {
   /**Called when the activity is first created. */
     
       ListView lw;
      
@Override
   public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);       
setContentView(R.layout.main);       
lw =(ListView)findViewById(R.id.listview);
    }
}
·         Bu işlemden sonra, ListView üzerinde olacak elemanlarımızı tutacağımız bir Array yaratıyoruz ve bunu da ListView üzerine uyguluyoruz. Kodumuz şu hale geliyor: ( Bu adımda eklenen kodların da arka plan renkleri mevcuttur!)

package com.listview;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class ListViewActivity extends Activity {
    /**Called when the activity is first created. */
      
      ListView lw;
      String lw_con [] ={"Şekerpare","Kadayıf","Kazandibi","Pişmaniye"};
      
@Override   
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);       
setContentView(R.layout.main);       
lw =(ListView)findViewById(R.id.listview);
       ArrayAdapter AA = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,lw_con);   lw.setAdapter(AA);
lw.setTextFilterEnabled(true);
    }
}

Buradaki kodlara bakarsak: Bir ListView’e içerik eklemek için ArrayAdapter sınıfından bir nesne kullanılır. Bunun için öncelikli olarak ArrayAdapter sınıfını import ettik. Daha sonra, bir ArrayAdapter nesnesi oluşturduk. Buradaki “android.R.layout.simple_list_item_1” android sisteminde tanımlı olarak bulunan ve liste için kullanılan bir görünümdür. Dana sonra bu ArrayAdapter nesnesimizi ListView’e bağlayarak, içeriğini oluşturmuş olduk.

·         Şu an listemiz hazır. Uygulamamızı çalıştırıp nasıl göründüğüne bir bakalım:

·         Şimdi ise bir elemanı seçtiğimizde, bize hangi elemanı seçtiğimizi söyleyecek bir dialog kutusu oluşturalım. Dialog konusu daha sonra detaylı ve örnekli bir şekilde anlatılacak, şimdi çok umursamasanız da olur. Bu işlemi de yaptıktan sonra kodun son hali şöyle oluyor: ( Yine, yeni eklenen kodların arka planı renklendirilmiştir.)


package com.listview;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class ListViewActivity extends Activity implements OnItemClickListener {
    /**Called when the activity is first created. */
       ListView lw;
       String lw_con [] ={"Şekerpare","Kadayıf","Kazandibi","Pişmaniye"};
        
@Override
    public void onCreate(Bundle savedInstanceState) {       
super.onCreate(savedInstanceState);       
setContentView(R.layout.main);       
lw =(ListView)findViewById(R.id.listview);       
ArrayAdapter AA = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,lw_con);  lw.setAdapter(AA);       
lw.setTextFilterEnabled(true);       
lw.setOnItemClickListener(this);
    }
  
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
AlertDialog.Builder adb=new AlertDialog.Builder(ListViewActivity.this);
adb.setMessage("Seçilen öge = "+lw.getItemAtPosition(position));
adb.setPositiveButton("Ok", null);
adb.show();
      }
}


Burada ListView üzerine bir Listener ekliyoruz. Listener içerisinde bir dialog kutusu yaratıyoruz. İçerisinde seçilen öğemizi söyleyen bir cümle bulunacak ve bir “Ok” butonu olacak. Tabi ki bunları gerçekleştirmek için de gerekli Importları yapmayı unutmuyoruz.

·         Sonuç olarak uygulamamızı çalıştırdığımızda, mesela Kadayıfı seçtiğimizde şöyle bir sonuç alıyoruz:

2 yorum:

  1. mehmet ak dedi ki...:

    teşekkurler, bu ornegi hazirlarken epey caniniz tatli cekmis olmali :)

  1. 3k dedi ki...:

    Bitirme tezimiz de tatlılar üzerine bir uygulamaydı. Yani uzun bir süre tatlı çekti canımız :)

Yorum Gönder