#20 – ListActivity ile Menü Oluşturma


merhaba, bu yazımda ListActivity ile menü oluşturmayı ve menüdeki seçeneklere tıklandığında belirlenen bir işlemi yerine getirmeyi anlatacağım.

[wpdm_file id=3]

ListActivity Nedir?

ListActivity android te bulunan tamamen bir liste oluşturmak için kullanılan bir aktivitedir. Yapısında bir tane liste içerir. Bu liste komplex ve çok uzun olabilir, alt dallanmalar olabilir. Bu tamamen geliştiriciye kalmıştır.

Bu yüzden uygulamamızı kodlarken direk ListActivity ile extend edeceğiz. Bu bize direk olarak bir listeyi ve bu sınıfın içerdiği metodları kullanmamızı sağlayacak.

Array Nedir ?

Array dizi demektir, dizide bazı datalar saklayacağız. Bunlar herhangi bir sayı ya da bir karekter dizisi olabilir. Biz listemizin elemanlarını bir string array de saklayacağız.

ArrayAdapter Nedir?

ArrayAdapter Array deki elemanları listeye eklenecek şekilde adapte(uyumunu sağlar) eder.

ListAdapter Nedir ? 

ListAdapter ArrayAdapter dan aldığı datayı/elemanları listeye ekler. Liste adaptörü setListAdapter komutu ile oluşturulur.

Evet bu kısa ve gerekli açıklamalardan sonra uygulamamızı kodlamaya geçebiliriz.

activity_main dosyamızda herhangi bir ek yapmamız gerek yoktur çünkü onu kullanmayacağız. Dediğim gibi ListActivity zaten yapısında bir listeyi taşıyor bu yüzden bizim ayrıca gui de yeni liste eklememize gerek yoktur.

MainActivity.java(bu arada bu tutorial için ben bu dosyaya Menu.java ismini verdim.) dosyasına yazmamız gereken kodlar aşağıda verilmiştir :

package com.androidevreni.listviewtutorial;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class Menu extends ListActivity {

	String sehirler[] = {"İzmir","Şanlıurfa","Ankara","İstanbul","Ağrı"};

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setListAdapter(new ArrayAdapter<String>(Menu.this, android.R.layout.simple_list_item_1, sehirler));
	}

	@Override
	protected void onListItemClick(ListView l, View v, int position, long id) {
		// TODO Auto-generated method stub
		super.onListItemClick(l, v, position, id);

		if(position==0){
			Toast.makeText(getApplicationContext(), "İzmir", Toast.LENGTH_SHORT).show();
		}
		if(position==1){
			Toast.makeText(getApplicationContext(), "Şanlıurfa", Toast.LENGTH_SHORT).show();
		}
		if(position==2){
			Toast.makeText(getApplicationContext(), "Ankara", Toast.LENGTH_SHORT).show();
		}
		if(position==3){
			Toast.makeText(getApplicationContext(), "İstanbul", Toast.LENGTH_SHORT).show();
		}
		if(position==4){
			Toast.makeText(getApplicationContext(), "Ağrı", Toast.LENGTH_SHORT).show();
		}

	}

}

Java dosyamızda göreceğiniz gibi listedeki hangi şehire tıklanırsa/touch edilirse o şehrin ismini Toast sınıfını kullanarak ekrana mesaj/bildirim olarak yazdırıyoruz. Toast sınıfı ile mesaj gösterimini daha önceki yazılarımda anlatmıştım. Tekrar bakmak isteyenler için: Toast: Kullanıcıya Mesaj Gösterme veya Geri Bildirim Mesajı 

Uygulama örneğimizi test edelim.

Uygulama Örneğinin Testi:

 

Başka bir android yazısında görüşmek üzere, kolay gelsin.

 Yazıyı beğendiyseniz soldaki sosyal paylaşım butonlarını kullanarak paylaşıp bize destek olabilirsiniz. Yazının başında yazımıza puan vermeyi unutmayın. Bize geri dönüş yapmanız çok önemli. Sitemizin ve yazılarımızın gelişimi sizin geri dönüşlerinize göre şekillenecektir. 

Şunlar da ilginizi çekebilir

1 Yorum

  • ekrem
    11 Şubat 2014 at 18:57

    teşekkür ederim

LEAVE A COMMENT