Cara Berpindah Activity menggunakan ListView Android Studio


Assalamualaikum Warahmatullahi Wabarakatuh.

Pada tutorial sebelumnya menjelaskan Cara membuat ListView di Android Studio, berikutnya kita akan belajar, cara menambahkan Aksi pada item didalam ListView, jika salah satu item di klik, maka akan berpindah pada Activity lain, menggunakan fungsi onItemClickListener().


Pada contoh project berikut ini, misalnya kita membuat sebuah aplikasi yang menampilkan list mahasiswa, pada masing-masing item didalam list tersebut hanya menampilkan Namanya saja, saat user mengklik salah satu nama tersebut, maka akan berpindah pada activity lain yang menampilkan identitas dari nama yang diklik tersebut, misalnya NIM, Jurusan dan Semester.

Materi lainnya yang direkomendasikan:

Cara Berpindah Activity menggunakan ListView Android Studio

1) Buka aplikasi Android Studio kalian, Buat Project Baru.

2) Buka file activity_main.xml kalian, pada activity tersebut kita tambahkan ListView seperti pada gambar berikut ini.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="12dp"
    android:orientation="vertical"
    tools:context="android.cianjur.developer.net.basicandroid.MainActivity">

    <ListView
        android:id="@+id/listitem"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>
View:


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.

3) Buat Activity baru, berinama, misalnya "DataMahasiswa", Activity tersebut digunakan untuk menampilkan data mahasiswa dari salah satu item yang diklik. Pada actuvuty tersebut kita cukup menggunakan beberapa TextView saja.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="16dp"
    android:orientation="vertical"
    tools:context="android.cianjur.developer.net.basicandroid.DataMahasiswa">

    <TextView
        android:id="@+id/getnim"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="NIM:"
        android:textSize="15sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/getnama"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:text="Nama:"
        android:textSize="15sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/getjurusan"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:text="Jurusan:"
        android:textSize="15sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/getsemester"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:text="Semester:"
        android:textSize="15sp"
        android:textStyle="bold" />
</LinearLayout>
4) Selanjutnya buka file MainActivity.java pada project kalian, lalu masukan source code berikut ini.
package android.cianjur.developer.net.basicandroid;

/*
 Dibuat Oleh WILDAN M ATHOILLAH
 */

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
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"};

    //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.listitem);
        data = new ArrayList<>();
        getData();
        //ArrayAdapter digunakan untuk mengatur, bagaimana item pada ListView akan tampil
        ArrayAdapter<String> adapter = new ArrayAdapter<>
                (this, R.layout.support_simple_spinner_dropdown_item, data);
        listView.setAdapter(adapter);

        //Menambahan Listener, untuk menangani kejadian saat salah satu item listView di klik
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                //Mendapatkan Nama pada salah satu item yang diklik, berdasarkan posisinya
                String getName = data.get(position);

                //Berpindah Activity dan Mempassing data Nama pada Activity Selanjutnya
                Intent sendData = new Intent(MainActivity.this, DataMahasiswa.class);
                sendData.putExtra("MyName", getName);
                startActivity(sendData);
            }
        });
    }

    private void getData(){
        //Memasukan Semua Data mahasiswa kedalam ArrayList
        Collections.addAll(data, mahasiswa);
    }
}
5) Buka file DataMahasiswa.java kalian, pada source code berikut ini akan menampilkan data mahasiswa berdasarkan nama yang dipilih, dengan menggunakan keyword switch-case.
package android.cianjur.developer.net.basicandroid;

import android.annotation.SuppressLint;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class DataMahasiswa extends AppCompatActivity {

    //Deklarasi Variable
    private TextView GetNIM, GetNama, GetJurusan, GetSemester;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_data_mahasiswa);
        getSupportActionBar().setTitle("Data Mahasiswa");
        GetNIM = findViewById(R.id.getnim);
        GetNama = findViewById(R.id.getnama);
        GetJurusan = findViewById(R.id.getjurusan);
        GetSemester = findViewById(R.id.getsemester);
        showData();
    }

    @SuppressLint("SetTextI18n")
    private void showData(){
        //Mendapatkan Nama Mahasiswa dari Activity sebelumnya
        String nama = getIntent().getExtras().getString("MyName");

        //Menentukan identitas yang ditampilkan bedasarkan nama yang dipilih
        switch (nama){
            case "Wildan":
                GetNIM.setText("NIM: 17720004");
                GetNama.setText("Nama: Wildam M Athoillah");
                GetJurusan.setText("Jurusan: Teknik Informatika");
                GetSemester.setText("Semester: 2");
                break;

            case "Taufan":
                GetNIM.setText("NIM: 17720005");
                GetNama.setText("Nama: Taufan Artha");
                GetJurusan.setText("Jurusan: Ekonomi");
                GetSemester.setText("Semester: 5");
                break;

            case "Adibil":
                GetNIM.setText("NIM: 17720006");
                GetNama.setText("Nama: Adibil Muchtar");
                GetJurusan.setText("Jurusan: Akuntansi");
                GetSemester.setText("Semester: 6");
                break;

            case "Hari":
                GetNIM.setText("NIM: 17720007");
                GetNama.setText("Nama: Hari");
                GetJurusan.setText("Jurusan: Management Informatika");
                GetSemester.setText("Semester: 4");
                break;

            case "Adam":
                GetNIM.setText("NIM: 17720008");
                GetNama.setText("Nama: Adam Makmur");
                GetJurusan.setText("Jurusan: Fakultas Ilmu Komunikasi");
                GetSemester.setText("Semester: 8");
                break;
        }
    }
}
Demo:



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.