Belajar Cara Membuat ListView pada Android Studio


Assalamualaikum Warahmatullahi Wabarakatuh.

ListView adalah salah satu widget yang digunakan untuk menampilkan data atau nilai dalam bentuk daftar/list, nilai atau data yang ditampilkan pada ListView tersebut didapat dari sebuah Array atau Database yang sudah ditentukan. ListView pada saat ini sudah tergantikan dengan RecyclerView yang memiliki konsep Material Design, karena lebih custom dan juga dapat mengatur tampilan layoutnya.


Walaupun begitu, ListView masih banyak digunakan oleh programmer untuk membuat list/daftar item yang sederhana pada aplikasi mereka. Tutorial kali ini saya akan mengajarkan pada kalian bagaimana cara membuat widget ListView pada aplikasi android menggunakan Android Studio.

Materi Lainnya Yang Direkomendasikan:

Membuat ListView pada Android Studio

Buatlah proyek baru pada Android Studio. Berikan nama proyek tersebut. lalu buat Empty Activity. Setelah membuat proyek.

Disini kita akan menambahkan Widget ListView pada Activity yang telah kalian buat, buka file activity_main.xml kalian, untuk membuat ListView, masukan kode xml berikut ini:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="8dp"
    tools:context="android.cianjur.developer.net.basicandroid.MainActivity">

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />

</RelativeLayout>
Atau kalian bisa langsung mendrag/drop widget tersebut yang berada didalam Pellete pada layout kalian, seperti ini:


Data pada ListView tersebut masih kosong, disini kita akan menambahkan data pada ListView, menggunakan sebuah Array dan juga ArrayList, data tersebut akan kita implementasikan secara static, yaitu langsung pada codingannya.

Selanjutnya buka file MainActivity.java pada project kalian, lalu masukan source code berikut ini beserta penjelasannya:
package android.cianjur.developer.net.basicandroid;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.Collections;

public class MainActivity extends AppCompatActivity {

    //Data-Data yang Akan dimasukan Pada ListView
    private String[] mahasiswa = {"Wildan","Taufan","Adibil;","Hari","Adam",
                                  "Hermawan","Indra","Widi","Anisa","Hani"};

    //ArrayList digunakan Untuk menampung Data mahasiswa
    private ArrayList<String> data;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ListView listView = findViewById(R.id.list);
        data = new ArrayList<>();
        getData();
        ArrayAdapter adapter = new ArrayAdapter<>(this, R.layout.support_simple_spinner_dropdown_item, data);
        listView.setAdapter(adapter);
    }

    private void getData(){
        //Memasukan Semua Data mahasiswa kedalam ArrayList
        Collections.addAll(data, mahasiswa);
    }
}
Penjelasan:

Pada program tersebut, kita membuat sebuah variable Array, yaitu mahasiswa, data-data pada variable tersebut yang akan kita tampilkan pada ListView, lalu data tersebut akan kita masukan kedalam ArrayList.

Pada method getData, kita memasukan semua data mahasiswa kedalam ArrayList, menggunakan fungsi Collection.addAll().

ArrayAdapter digunakan untuk mengatur, bagaimana item pada ListView akan tampil, didalam adapter, kita memasukan data ArrayList, selanjutnya kita memanggil adapter pada ListView dengan menggunakan fungsi setAdapter().

Demo:


Untuk mengubah tampilan default atau design layout, seperti ukuran text, warna, style, dsb. kalian dapat mengubahnya dengan cara mengganti support_simple_spinner_dropdown_item yang terpasang pada adapter dengan file xml kalin.

Sekarang, buatlah file XML baru pada direktori res/layout dan berikan nama gaya_baru.xml. Ini bertujuan untuk memberikan style pada data yang akan ditampilkan. Kemudian berikan TextView pada file tersebut, contoh sederhananya seperti sintak di bawah ini.
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/gaya"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dip"
    android:textSize="17dip"
    android:textStyle="bold" >
</TextView>
Selanjutnya kalian ubah layout pada adapternya menjadi seperti ini:
ArrayAdapter adapter = new ArrayAdapter<>(this, R.layout.gaya_baru, data);
Menambahkan OnItemClickListener untuk Membuat Aksi pada ListView

Untuk menambahkan aksi pada ListView pada saat salah satu item di klik, kita perlu mengimplementasi OnItemClickListener, lalu kita mengset listenet pada ListView, contohnya seperti berikut ini:
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
Set listener pada ListView kita, didalam method onCreate():
listView.setOnItemClickListener(this);
Selanjutnya, kita harus mengimplementasikan method onItemClick(), jika tidak maka akan terjadi error.
@Override
    public void onItemClick(AdapterView adapterView, View view, int position, long l) {
        String getMahasiswa = data.get(position);
        Toast.makeText(this, "Mahasiswa Yang Saya Ambil "+getMahasiswa, Toast.LENGTH_SHORT).show();
    }
Didalam method tersebut, variable getMahasiswa, akan mengambil data dari ArrayList, sesuai dengan posisinya, lalu menampilkannya pada Toast, saat salah satu Item di Klik.

Terimakasih atas kunjungannya, semoga tutorial yang saya berikan bisa bermanfaat untuk kalian semua, selebihnya, mohon maaf bila ada kesalahan.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Wildan M Athoillah
Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.