Merhabalar, bu yazıda kısaca Android Listview ve Alert Dialog Kullanımı hakkında küçük bir örnek göstermek istiyorum. Projede array adapter nasıl kullanılır ? Android listview kullanımı nasıldır? ve Android listview özellikleri hakkında gerekli bilgileri bulabilirsiniz.
Android programlamada uyarı mesajları için Alert Dialog yapısı kullanılabilir. Aler Dialog ile Tamam, İptal gibi seçenekler ile kullanıcının tercih yapmasını isteyebiliriz. Birden fazla tercih eklemek için setPositiveButton ve setNegativeButton fonksiyonlarını kullanmamız gerekmektedir.
Programdan çıkış, kullanıcıya tercih yaptırma gibi işlemlerde kullanılabilir.
builder.setTittle -> Yukarıda yazan “Adana” yazısı için.
builder.setMassage -> Kullanıcıya mesaj vermek için kullanacağınız özellik. Bu örnekte her ne kadar kullanılmasada.
Program sırasında import edilmesi gereken kütüphaneler.
import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.AdapterView.OnItemClickListener;
public class MainActivity extends AppCompatActivity {
listview üzerinde göstermek istediğimiz değerler.
public String[] iller={"Adana","Bursa","Rize","Ankara","Edirne","Balıkesir"};
Listeyi programımız açıldığı anda görülür yapmak için onCreate Metodu içerisinde yazıyoruz.
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
Öncelikle uygulamamıza bir adet listview ekliyoruz. Ekledikten sonra aşağıda görüldüğü gibi gerekli tanımlamayı yapmalıyız.
ListView liste=(ListView)findViewById(R.id.listview);
listemizi tanımladıktan sonra bir ArrayAdapter kullanarak listemizi listview’a bağlamalıyız.
ArrayAdapter<String> adapter=new ArrayAdapter<String (this,android.R.layout.activity_list_item,android.R.id.text1,iller);
Listemizi değerleri ile birlikte ekranda gözükmesini sağlıyoruz.
liste.setAdapter(adapter);
Bilgileri listede gösterdikten sonra liste tıklanma durumunu yakalayabiliriz. Listedeki bir öğeye tıklandığında onItemClick() metodu çalıştırılır.
Listeye tıklanma durumunu kontrol etmek ve gerekli işlemleri yapmak için setOnItemClickListener ile listemizi dinliyoruz.
liste.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Alet diyalog için gerekli tanımlamayı oluşturduk.
AlertDialog.Builder alert_dialog=new AlertDialog.Builder(MainActivity.this);
Alert Dialog üzerindeki yazıyı ayarlamak için aşağıdaki kodu kullandık. iller[position] kısmı Alert Dialog üzerindeki kısmı ifade etmektedir.
alert_dialog.setMessage(iller[position])
Alert Dialog gözüktüğünde kullanıcı ekranın her hangi bir noktasına dokunduğunda isteğe bağlı olarak Alert Dialog gözükmeye devam edebilir veya gizlenebilir. Eğer ki kullanıcı Alert Dialog açık olduğunda sadece belirlediğiniz butonlara basarak işlem yapmasını istiyorsanız bu değer false olarak kalmalı.
.setCancelable(false)
Butonlar ve tıklandığında ne yapılacağını kontrol edebiliriz.
.setPositiveButton("Evet!", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) {
Kod Kısmı,Bu kısımda Evet butonuna tıkladığınızda gerçekleşecek olan olaylar yer almalı.
} })
butonlar ve tıklandığında ne yapılacağı
.setNegativeButton("Hayır", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) {
-> Bu kısımda Hayır butonuna tıkladığınızda gerçekleşecek olan olaylar yer almalı.
} });
Oluşturduğumuz Alert Dialogu Göstermek için kullanılıyor.
alert_dialog.show(); } }); }
Android Listview ve Alert Dialog Örnek ve Kullanımı Tüm Kod :
public class MainActivity extends AppCompatActivity { public String[] iller={"Adana","Bursa","Rize","Ankara","Edirne","Balıkesir"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView liste=(ListView)findViewById(R.id.listview); ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.activity_list_item,android.R.id.text1,iller); liste.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { AlertDialog.Builder alert_dialog=new AlertDialog.Builder(MainActivity.this); alert_dialog.setMessage(iller[position]) .setCancelable(false) .setPositiveButton("Evet!", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }) .setNegativeButton("Hayır", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); alert_dialog.show(); } }); } }