Bu derste örneğimize devam ettik.
Kişisel Array adapterımızı tanımladık ve listviewımızın başarılı bir şekilde çalışmasını sağladık.
Tüm projeyi indirmek için tıklayın…..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
package emrealtunbilek.com.listviewbayraklar; import android.content.Context; import android.support.annotation.NonNull; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; import org.w3c.dom.Text; /*ArrayAdapter<String> adapter = new ArrayAdapter<String> (this, R.layout.tek_satir, R.id.textView, ulkeAdlari); ulkelerListesi.setAdapter(adapter);*/ public class EmreAdapter extends ArrayAdapter<String> { Context context; String[] ulkeAdlari; String[] ulkeTanimlari; int[] resimler; EmreAdapter(Context c, String[] ulkeAdlari, String[] ulkeTanimlari, int resimlerDizisi[]) { super(c, R.layout.tek_satir, R.id.textView, ulkeAdlari); this.context = c; this.ulkeAdlari = ulkeAdlari; this.ulkeTanimlari = ulkeTanimlari; this.resimler = resimlerDizisi; } @NonNull @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View tek_satir = inflater.inflate(R.layout.tek_satir, parent, false); ImageView img_teksatir =(ImageView) tek_satir.findViewById(R.id.imageView); TextView ulkeAdi_teksatir= (TextView) tek_satir.findViewById(R.id.textView); TextView ulkeTanim_teksatir= (TextView) tek_satir.findViewById(R.id.textView2); img_teksatir.setImageResource(resimler[position]); ulkeAdi_teksatir.setText(ulkeAdlari[position]); ulkeTanim_teksati.setText(ulkeTanimlari[position]); return tek_satir; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
package emrealtunbilek.com.listviewbayraklar; import android.content.res.Resources; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; /* * 1- Veri kaynaklarını hazırlayalım * 2- Tek bir satır list viewın layoutunu hazırlayalım * 3-Custom Adapter Tanımlayalım * 3.1 Bir daha önceden tanımlı constructorı çağır * 3.2 getView Methodu kişiselleştir * */ public class MainActivity extends AppCompatActivity { ListView ulkelerListesi; String[] ulkeAdlari; String[] ulkeTanimlari; int[] bayrakResimleri = {R.drawable.ulke1, R.drawable.ulke2, R.drawable.ulke3, R.drawable.ulke4, R.drawable.ulke5, R.drawable.ulke6, R.drawable.ulke7, R.drawable.ulke8, R.drawable.ulke9, R.drawable.ulke10, R.drawable.ulke10, R.drawable.ulke11, R.drawable.ulke12, R.drawable.ulke13, R.drawable.ulke14, R.drawable.ulke15, R.drawable.ulke16, R.drawable.ulke17, R.drawable.ulke18, R.drawable.ulke19, R.drawable.ulke20}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Resources veriKaynagi = getResources(); ulkeAdlari = veriKaynagi.getStringArray(R.array.ulkeAdlari); ulkeTanimlari = veriKaynagi.getStringArray(R.array.ulke_tanimlari); ulkelerListesi = (ListView) findViewById(R.id.ulkelerListesi); EmreAdapter adapter=new EmreAdapter(this,ulkeAdlari, ulkeTanimlari, bayrakResimleri); ulkelerListesi.setAdapter(adapter); } } |