Base Adapter kullanarak custom listviewımızı oluşturduğumuz bu derste, Java ile nesneye yönelik programlama bilgilerimizi sonuna kadar kullandık.
Anlamadığınız yerleri sorabilir veya Temel java eğitim setine göz atabilirsiniz.
Uygulamanın son ve bitmiş halini 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 |
package emrealtunbilek.com.customlistwithbaseadapter; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ListView; public class MainActivity extends AppCompatActivity { ListView liste; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); liste= (ListView) findViewById(R.id.ulkelerListesi); //liste.setAdapter(new EmreAdapter(this)); EmreAdapter adapter=new EmreAdapter(this); liste.setAdapter(adapter); } } |
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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
package emrealtunbilek.com.customlistwithbaseadapter; import android.content.Context; import android.content.res.Resources; import android.media.Image; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import java.util.ArrayList; class TekSatir{ String ulke; String tanim; int bayrak; TekSatir(String u, String t, int b){ this.ulke=u; this.tanim=t; this.bayrak=b; } } class ViewYerTutucu{ ImageView img; TextView ulke; TextView tanim; ViewYerTutucu(View v){ img= (ImageView) v.findViewById(R.id.iVBayrak); ulke= (TextView) v.findViewById(R.id.tvUlke); tanim= (TextView) v.findViewById(R.id.tvTanim); } } public class EmreAdapter extends BaseAdapter { ArrayList liste; Context context; EmreAdapter(Context c){ context=c; liste=new ArrayList(); Resources kaynaklar=c.getResources(); String[] ulkeAdlari=kaynaklar.getStringArray(R.array.ulkeAdlari); String[] ulkeTanimlari=kaynaklar.getStringArray(R.array.ulke_tanimlari); 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}; for (int i=0; i<20; i++) { /*TekSatir t=new TekSatir(ulkeAdlari[i],ulkeTanimlari[i], bayrakResimleri[i]); liste.add(t);*/ liste.add(new TekSatir(ulkeAdlari[i],ulkeTanimlari[i], bayrakResimleri[i])); } } @Override public int getCount() { return liste.size(); } @Override public Object getItem(int position) { return liste.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { View satir=convertView; ViewYerTutucu yerTutucu=null; if(satir==null) { LayoutInflater inflater= (LayoutInflater) context.getSystemService (Context.LAYOUT_INFLATER_SERVICE); satir=inflater.inflate(R.layout.tek_satir,parent,false); yerTutucu=new ViewYerTutucu(satir); satir.setTag(yerTutucu); } else{ yerTutucu= (ViewYerTutucu) satir.getTag(); } TekSatir gecici=liste.get(position); yerTutucu.img.setImageResource(gecici.bayrak); yerTutucu.ulke.setText(gecici.ulke); yerTutucu.tanim.setText(gecici.tanim); return satir; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="emrealtunbilek.com.customlistwithbaseadapter.MainActivity"> <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" android:id="@+id/ulkelerListesi" android:layout_alignParentStart="true" /> </RelativeLayout> |
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 |
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="64dp" android:layout_height="64dp" android:src="@drawable/ulke1" android:layout_alignParentTop="true" android:layout_alignParentStart="true" android:id="@+id/iVBayrak" /> <TextView android:text="Ülke Adı" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_toEndOf="@+id/iVBayrak" android:layout_marginStart="13dp" android:layout_marginTop="11dp" android:id="@+id/tvUlke" android:textSize="18sp" /> <TextView android:text="Ülke Tanımı" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/tvUlke" android:layout_alignStart="@+id/tvUlke" android:id="@+id/tvTanim" /> </RelativeLayout> |
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 |
<resources> <string name="app_name">CustomListwithBaseAdapter</string> <string-array name="ulkeAdlari"> <item>Ülke 1</item> <item>Ülke 2</item> <item>Ülke 3</item> <item>Ülke 4</item> <item>Ülke 5</item> <item>Ülke 6</item> <item>Ülke 7</item> <item>Ülke 8</item> <item>Ülke 9</item> <item>Ülke 10</item> <item>Ülke 11</item> <item>Ülke 12</item> <item>Ülke 13</item> <item>Ülke 14</item> <item>Ülke 15</item> <item>Ülke 16</item> <item>Ülke 17</item> <item>Ülke 18</item> <item>Ülke 19</item> <item>Ülke 20</item> </string-array> <string-array name="ulke_tanimlari"> <item>Ülkenin Tanımı 1</item> <item>Ülkenin Tanımı 2</item> <item>Ülkenin Tanımı 3</item> <item>Ülkenin Tanımı 4</item> <item>Ülkenin Tanımı 5</item> <item>Ülkenin Tanımı 6</item> <item>Ülkenin Tanımı 7</item> <item>Ülkenin Tanımı 8</item> <item>Ülkenin Tanımı 9</item> <item>Ülkenin Tanımı 10</item> <item>Ülkenin Tanımı 11</item> <item>Ülkenin Tanımı 12</item> <item>Ülkenin Tanımı 13</item> <item>Ülkenin Tanımı 14</item> <item>Ülkenin Tanımı 15</item> <item>Ülkenin Tanımı 16</item> <item>Ülkenin Tanımı 17</item> <item>Ülkenin Tanımı 18</item> <item>Ülkenin Tanımı 19</item> <item>Ülkenin Tanımı 20</item> </string-array> </resources> |
Emre Bey, sayenizde android studio öğreniyorum. Eğitiminiz harika.Fırsat buldukça sizi dinliyorum. Sağolun.