How To Use Spinner Dropdown in Android


spinnerBu örnekte Spinner nesnesinin nasıl kullanılıdığını göreceğiz. Spinner ile drop down menu den bir eleman seçeceğiz. Bunun için de statik veri kullanacağız. Tabi ki bu programlanabilir bir biçimde de yapılabilir veya bir kaynaktan veri çekmek suretiyle de. Burada en basit nasıl olur onu görmeye çalışacağız. Şimdi main.xml dosyamızı açalım ve aşağıdaki değişiklikleri kaydedelim.

( res/layout/main.xml )

Bu şekilde düzenleyin.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:padding="10dip"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content">
	
	<TextView
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:layout_marginTop="10dip"
		android:text="Bir Seçim Yap:"
		android:layout_marginBottom="5dp"/>
	
	<Spinner 
		android:id="@+id/spinner"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:prompt="@string/spinner_title"/>

</LinearLayout>

Burada Spinner için tanımlanan string resource (kaynak) olarak “spinner_title” görüyoruz. Bu, ekrana gelecek diyalogta bize bilgi vermek için kullandığımız başlık, onu da res/values/string.xml içerisinde tanımlıyoruz. Bunun için ilgili dizini açalım ve şu şekilde değiştirelim:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">AndroidSpinnerExample</string>
    <string name="spinner_title">Bir Seçim Yap</string>
</resources>

Şimdi XML ile işimiz bitti, tanımlamalarımızı yaptık ve kod kısmına geçebiliriz. Bendeki adı AndroidSpinnerExampleActivity.java. Siz de proje oluştururken ne isim verdiyseniz ilgili yeri açın ve düzenlemeye başlayın.
(src/paketAdi/classAdi)

Bu örnekte spinner dan bir eleman seçeceğiz ve bunun için activity mizi OnItemSelectedListener dan extend edeceğiz. Class adının yazdığı satırı şu şekide değiştirelim.

public class AndroidSpinnerExampleActivity extends Activity implements OnItemSelectedListener{ . . . }

Son olarak AndroidSpinnerExampleActivity.java :

package paketAdi;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;

public class AndroidSpinnerExampleActivity extends Activity implements OnItemSelectedListener{
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		// Spinner tanımlayıp, XML den kaynak göstererek erişim sağlama.
		Spinner spinner = (Spinner) findViewById(R.id.spinner);

		// Spinner seçilme olayı.
		spinner.setOnItemSelectedListener(this);


		// Spinner içine yerleşecek elemanlar
		List<String> categories = new ArrayList<String>();
		categories.add("Acura");
		categories.add("Alfa Romeo");
		categories.add("Aston Martin");
		categories.add("Audi");
		categories.add("Bentley");
		categories.add("Bugatti");
		categories.add("Buick");
		categories.add("Cadillac");
		categories.add("Chery");
		categories.add("Chevrolet");
		categories.add("Chrysler");
		
		// Spinner için adapter oluşturmak 
		ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);

		// Drop down şablonu (radio buttonlar ve list şeklinde)
		dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

		// Spinner a oluşturduğumuz adapter i bağlıyoruz
		// Böylece içini doldurmuş oluyoruz.
		spinner.setAdapter(dataAdapter);
	}

	@Override
	public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
		// Her bir eleman seçildiğinde yapılacak işlemler
		String item = parent.getItemAtPosition(position).toString();

		// Seçilen elemanı ekranda göstermek
		// Burada ne istiyorsanız onu yapabilirsiniz
		// Mesela başka bir sayfaya da yönlendirebilirsiniz.
		Toast.makeText(parent.getContext(), "Seçili Elaman: " + item, Toast.LENGTH_LONG).show();

	}

	public void onNothingSelected(AdapterView<?> arg0) {
		// TODO Auto-generated method stub

	}

}

Son olarak ekran görüntüleri aşağıdaki gibidir:
screen6-1

screen6-2

screen6-3

Reklamlar

28 Ara 2012 tarihinde Android içinde yayınlandı ve , , , , olarak etiketlendi. Kalıcı bağlantıyı yer imlerinize ekleyin. Yorum yapın.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: