Android Menggunakan ArrayAdapter – List
February 12th, 2017 • Related • Filed Under
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
- Buat Android Activity dengan template Basic misal beri nama activity DaftarPeserta
- Tambahkan komponen ListView pada konten layout (content_daftar_peserta.xml) beri nama ID list_peserta
- 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>
- 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; } }
-
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; } }
- 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);