Merhaba arkadaşlar, bu günki makalemde custom listview kodlamasının sonuna geleceğiz.
Okumadıysanız öncelikle bir önceki makalemi okumanızı tavsiye ederim. Buradan okuyabilirsiniz.
ackage com.example.teka.icim_rahat; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.Toast;import com.example.teka.icim_rahat.R; import com.example.teka.icim_rahat.adapters.kullanici_adpter; import com.example.teka.icim_rahat.models.hakkimizda_class; import com.example.teka.icim_rahat.models.icirahat_class; import com.example.teka.icim_rahat.profil_duzenle; import java.util.ArrayList; /** * Created by teka on 24.7.2017. */ public class anasayfa extends Activity { ArrayList<icirahat_class>arrayList; Button resimekle,duzenle; ListView listView; EditText yeniyoru; ImageView ImageView; hakkimizda_class.il_ilce_okul_adi_class value; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.anasayfa);
Button resimekle=(Button)view.findViewById(R.id.btnekle); final ImageView image=(ImageView)view.findViewById(R.id.profil_resim); Button duzenle=(Button)view.findViewById(R.id.btnduzenle); ListView listView=(ListView)view.findViewById(R.id.resimlist); arrayList=new ArrayList<icirahat_class>() ; arrayList.add(new icirahat_class("Kübra")); arrayList.add(new icirahat_class("hebes")); arrayList.add(new icirahat_class("adana")); // kullanici_adpter adapter= null; try { adpter = new kullanici_adpter(view.getContext(), R.layout.icim_rahat_class,arrayList); listView.setAdapter(adpter); } catch (IOException e) { e.printStackTrace(); Toast.makeText(getActivity().getApplicationContext(), "hataaa adapter ayarı yapılamadı", Toast.LENGTH_SHORT).show(); } }
Genel olarak şu ana kadar yaptıklarımızı toparlayacak olursam, bir listview’ı özelleştirmek istediğimizde;
- Her bir list item’ın nasıl görüneceğini tasarladığımız bir layout dosyasına,
- Model olarak kullanacağımız bir java class’ına
- Listview ve Arraylist’i bağlayacak bir adapter class’ına ve
- Son olarak listview’ı görüntülemek istediğimiz bir activity java sayfalarına ihtiyacımız vardır.
Şu ana kadar bütün gerekli olan dosyaları ayrı ayrı detaylı bir şekilde örnekler üzerinden anlattım. Bu gün son olarak activity java sayfasında yapacağımız kodlamaya da değinerek konuyu burada sonlandırmış olacağım.
Örnek kodu inceleyecek olursak;
Kullanılan komponent’ in global nesneleri oluşturulur. Sonra oncreate methodunun içinde findviewbyid methodu sayesinde xml kodlama da tanımlanan id’ler ile global oluşturulan nesneler birbirine bağlanılır. Arraylist oluşturulur, burada dikkat ederseniz arraylist’in türü string değilde kendi oluşturduğumuz model classıdır. Böylelikle istediğimiz tür ve sayıda değerleri arrayliste ekleyebileceğiz. Arraylist’e eklemek istediğimiz derleri ekliyoruz. Ekledikten sonra adapter ayarlaması yaptığımız kod blogunu try catch içerisine yazıyoruz. Böylelikle adapter set edilirken beklenmedik bir hata ile karşılaştığında uygulamanın direk crash alıp kapanması yerine aldığı hatayı toast mesajı olarak ekrana basarak, daha hızlı bir şekilde alınan hatanın çözülmesine olanak saglarız.
Adapter classını kodlarken hatırlarsanız adapter’ın yapıcı methodunu oluştururmuştuk. Burada adapter’ı oluştururken orada belirlediğimiz parametreleri vermezsek adapter doğru çalışmaz ve uygulamamız hata alarak çalışmasını sonlandırır. Bu adapter için ilk parametre bir context değişkeni, ikinci değer bir layout değişkeni ve son olarak arraylist bilgisidir. Context bizim activity java sayfasının kendisidir. Layout değişkeni ise item’ların tasarımını oluşturduğumuz layout sayfasının ismidir. Son olarak isteden arraylist bilgisi ise oluşturup içine istediğimiz değerleri atadığımız arraylist’in adıdır.
son olarak listview’ın setAdapter methodu sayesin de oluşturup kendimize göre set ettiğimiz adapter değişkenini listview’ a set ediyoruz.
Bir makalenin daha sonuna geldik, esenle kalın..
One comment
Pingback: Android Programlama Dersleri | Information Technology Tutorials