Android Menggunakan ArrayAdapter – List

Pada tutorial android kali ini anda diajak membuat daftar list menggunakan komponen ListView dengan tampilan yang telah di kustomisasi menggunakan ArrayAdapter. Berikut ini langkah-langkahnya

  1. Buat Android Activity dengan template Basic misal beri nama activity DaftarPeserta
  2. Tambahkan komponen ListView pada konten layout (content_daftar_peserta.xml) beri nama ID list_peserta
  3. Buat layout item_peserta.xml dan letak dalam direktori res/layout, berikut kode layoutnya:
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/llContainer"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="5dp">
    
        <TextView
            android:id="@+id/text1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:textAppearance="?android:attr/textAppearanceListItemSmall"
            android:gravity="center_vertical"/>
    
        <TextView
            android:id="@+id/text2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceListItemSmall"
            android:gravity="center_vertical" />
    </LinearLayout>
    
  4. Buat model data Peserta : Peserta.java, dengan kode berikut ini:
    public class Peserta {
        private String NIP;
        private String nama;
        private String instansi;
    
        public Peserta() {
    
        }
    
        public Peserta(String NIP, String nama, String instansi) {
            this.NIP = NIP;
            this.nama = nama;
            this.instansi = instansi;
        }
         // kode setter dan getter
    
        // static method contoh ambil data
    
     public  static List<Peserta> getAllPeserta(){
    
            List<Peserta> list = new ArrayList<Peserta>();
            Peserta p1 = new Peserta("1001","Fanny","Biro Akademik");
            Peserta p2 = new Peserta("1003","Eka Rahayu","Program Studi");
            Peserta p3 = new Peserta("1002","Hendra Sasmita","UPT Komputer");
            list.add(p1);
            list.add(p2);
            list.add(p3);
    
            return list;
    
        }
    }
    
  5. Buat Adapter class : PesertaAdapter , berikut kode programnya:

    public class PesertaAdapter extends ArrayAdapter<Peserta> {
    
            public PesertaAdapter(Context context, List<Peserta> list_peserta) {
                super(context, 0, list_peserta);
            }
    
            @NonNull
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
    
                Peserta obj =  getItem(position);
                if(convertView == null){
                    convertView = LayoutInflater.from(getContext())
                            .inflate(R.layout.item_peserta,parent,false);
                }
    
                TextView tx1 = (TextView) convertView.findViewById(R.id.text1);
                TextView tx2 = (TextView) convertView.findViewById(R.id.text2);
    
                tx1.setText(obj.getNIP() + " - " + obj.getNama());
                tx2.setText("Instansi :" + obj.getInstansi());
                return convertView;
            }
    }
    
  6. Berikut kode program pada DaftarPesertaActivity
    public class DaftarPesertaActivity extends AppCompatActivity {
    
        ListView listView ;
        List<Peserta> list ;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_daftar_peserta);
    
            listView = (ListView) findViewById(R.id.list_peserta);
            list = Peserta.getAllPeserta();
            PesertaAdapter adapter = new PesertaAdapter(this,list);
    
            // anda bisa tambah langsung object data model ke adapter
            adapter.add(new Peserta("1005","Misriyati","UPT Perpustakaan"));
            listView.setAdapter(adapter);
    

Post a Response