Cara berpindah activity menggunakan ListView Android Studio Kotlin

Cara Berpindah Activity menggunakan ListView Android Studio

Oleh Wildan M Athoillah 07.35


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().

Cara berpindah activity menggunakan ListView Android Studio Kotlin


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:
  • Tutorial Membuat RecyclerView Material Design
  • Cara Menerapkan SearchView dengan RecyclerView pada Fragment
  • Cara Berpindah Activity Menggunakan RecyclerView

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.

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.

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 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 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.


Cara berpindah activity menggunakan ListView Android Studio Kotlin

Wildan M Athoillah Blogger dan spesialis pembuat aplikasi android.

Berbagi

Custom ListView Android + User Interaction dengan Kotlin

Cara berpindah activity menggunakan ListView Android Studio Kotlin

Photo by Muhammad Rosyid Izzulkhaq on Unsplash

Dalam tutorial yang saya tulis kali ini, kita akan membuat sebuah aplikasi android dimana terdapat ListView yang menampilkan gambar dan teks, dan apabila item pada ListView tersebut ditekan (click) maka akan berpindah ke activity yang akan menampilkan detail daripada item tersebut.

Dengan mempelajari tutorial ini, diharapkan anda dapat terbiasa dengan ListView, dan aplikasi yang akan kita buat kali ini adalah daftar mata kuliah, secara garis besar, kita akan mempelajari hal-hal berikut:

  • Membuat data source (Sumber data)
  • Membuat dan mengisi daftar pada ListView
  • Menyesuaikan tata letak pada layout
  • Cara mengoptimalkan kinerja dari ListView

Catatan: Versi android studio yang saya gunakan saat menulis tutorial ini adalah versi 4.1, anda bisa menggunakan android studio dengan versi yang sama seperti saya atau versi yang terbaru saat ini.

Tutorial Cara Membuka Activity Baru Ketika Item ListView di Klik

Pada tutorial ini kita tidak perlu membuat projek android studio baru karena dalam tutorial ini saya menggunakan projek dari tutorial sebelumnya, yaitu Cara Membuat Custom ListView Menggunakan ArrayAdapter di Android Studio. Untuk itu silahkan kalian pahami terlebih dahulu tutorial tersebut agar paham dengan tutorial ini.

XML Layout File

Buatlah file xml layout baru dengan cara klik kanan pada folder layout lalu pilih New>Activity>Empty Activity. Simpan file activity baru dengan nama file Facebook. (Untuk membuka item Facebook pada ListView). Jika kalian mau, lakukan hal sama untuk item ListView lainnya seperti Twitter, Instagram, WhatsApp. Pada tutorial ini saya membuat activity baru untuk Facebook dan Instagram.

Setelah kalian membuat activity baru, struktur projek kalian akan terlihat seperti pada gambar berikut ini.

Cara berpindah activity menggunakan ListView Android Studio Kotlin

Java Activity File

Buka file MainActivity dalam folder java projek kalian. Lalu pada method setOnItemClickListener, tambahkan Intent di dalamnya dengan menggunakan if agar kita bisa mengetahui posisi item dari ListView. Berikut ini adalah kode lengkap untuk MainActivity.

app/java/com.androidrion.customlistviewapp/MainActivity.java

package com.androidrion.customlistview1; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { ListView lv; int[] iconList = new int[]{ R.drawable.facebook, R.drawable.twitter, R.drawable.instagram, R.drawable.snapchat, R.drawable.whatsapp, R.drawable.line, R.drawable.kakaotalk, R.drawable.telegram, R.drawable.messenger, R.drawable.youtube, R.drawable.tiktok, R.drawable.vine, R.drawable.vimeo, R.drawable.figma, R.drawable.adobe_xd, R.drawable.sketch, R.drawable.framer, R.drawable.android, R.drawable.apple, R.drawable.windows, R.drawable.opera, R.drawable.firefox, R.drawable.safari, R.drawable.edge, R.drawable.paypal, R.drawable.mastercard, R.drawable.visa, R.drawable.bitcoin, R.drawable.ethereum }; String[] Headline = {"Facebook", "Twitter", "Instagram", "SnapChat", "WhatsApp", "LINE", "KakaoTalk", "Telegram", "Messenger", "YouTube", "TikTok", "Vine", "Vimeo", "Figma", "Adobe XD", "Sketch", "Framer", "Android", "iOS", "Windows", "Opera", "Mozilla", "Safari", "Edge", "Paypal", "Mastercard", "Visa", "Bitcoin", "Ethereum" }; String[] Subhead = {"Social Media", "Social Media", "Social Media", "Social Media", "Chatting App", "Chatting App", "Chatting App", "Chatting App", "Chatting App", "Video Streaming App", "Video Streaming App", "Video Streaming App", "Video Streaming App", "UI Design App", "UI Design App", "UI Design App", "UI Design App", "Operating System", "Operating System", "Operating System", "Browser App", "Browser App", "Browser App", "Browser App", "Payment Method", "Payment Method", "Payment Method", "Cryptocurrency", "Cryptocurrency" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = findViewById(R.id.list); ListAdapter listAdapter = new ListAdapter(this, iconList, Headline, Subhead); lv.setAdapter(listAdapter); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { if (position == 0) { Intent intent = new Intent(view.getContext(), Facebook.class); startActivityForResult(intent, 0); } //Position 1 is Twitter if (position == 2) { Intent intent = new Intent(view.getContext(), Instagram.class); startActivityForResult(intent, 0); } //Do the same thing next time Toast.makeText(getApplicationContext(), "You have selected : " + Headline[position], Toast.LENGTH_SHORT).show(); } }); } }

Run ‘app’

Sekarang jalankan projek android studio kalian. Pada tampilan awal aplikasi, kalian melihat banyak daftar item pada ListView. Dalam item ListView, Facebook menjadi urutan pertama dalam list tersebut. Ketika kalian mengklik item facebook, maka aplikasi akan membuka activity baru. Hal serupa juga berlaku pada item ke tiga, Instagram. Jika kode di atas tidak terjadi error, maka aplikasi akan terlihat seperti pada gambar di bawah ini.

Cara berpindah activity menggunakan ListView Android Studio Kotlin
Cara berpindah activity menggunakan ListView Android Studio Kotlin
Cara berpindah activity menggunakan ListView Android Studio Kotlin

AKHIR KATA

Itulah tadi tutorial singkat dan mudah cara membuka activity baru ketika item listview di klik pada aplikasi android studio. Tutorial diatas mungkin agak sedikit membingungkan untuk kalian jika kalian tidak mengikuti tutorial sebelumnya. Tetapi sebenarnya, pada tutorial ini kalian hanya perlu menambahkan beberapa line kode saja untuk membuat item pada listview membuka activity baru.

Jika kalian mendapati kendala saat melakukan tutorial di atas, silahkan berkomentar di bawah pada postingan ini. Jangan lupa untuk like dan subscribe Channel YouTube Android Rion. Semoga artikel ini membantu kalian. Terima Kasih.

Download

Membuat Project Baru

Buatlah project baru bernama Kotlin List dan jangan lupa untuk memilih include kotlin support:

Cara berpindah activity menggunakan ListView Android Studio Kotlin

Klik Next

Cara berpindah activity menggunakan ListView Android Studio Kotlin

Klik Next

Cara berpindah activity menggunakan ListView Android Studio Kotlin

Klik finish

Cara berpindah activity menggunakan ListView Android Studio Kotlin

Setelah itu, untuk memastikan versi library yang kamu gunakan sama dengan versi pada tutorial ini. Silahkan buka file build.gradle (app).

Pastikan versi yang digunakan seperti ini ya…

  • compileSdkVersion 27
  • targetSdkVersion 27
  • implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
  • implementation 'com.android.support:appcompat-v7:27.1.0'

apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 27 defaultConfig { applicationId "com.petanikode.kotlinlist" minSdkVersion 16 targetSdkVersion 27 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'com.android.support:appcompat-v7:27.1.0' implementation 'com.android.support.constraint:constraint-layout:1.1.2' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test🏃‍️1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' }

Setelah itu klik Sync Now:

Cara berpindah activity menggunakan ListView Android Studio Kotlin

Tunggu sampai proeses Sync selesai. Setelah itu silahkan lanjutkan…

Apa Itu ListView ?

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 merupakan user interface pada Android Studio yang menampilkan item-item dari sekumpulan daftar yang tersusun berbaris ke bawah atau kesamping dengan tampilan yang dapat scroll.

Memulai aktivitas lain

Setelah menyelesaikan tutorial sebelumnya, kini Anda memiliki aplikasi yang menunjukkan aktivitas yang terdiri dari satu layar dengan kolom teks dan tombol Send. Pada tutorial ini, Anda akan menambahkan beberapa kode ke MainActivity yang memulai aktivitas baru untuk menampilkan pesan saat pengguna mengetuk tombol Send.

Catatan: Tutorial ini mengasumsikan bahwa Anda menggunakan Android Studio v3.0 atau yang lebih tinggi.

Merespons tombol Send

Ikuti langkah berikut untuk menambahkan metode ke class MainActivity yang dipanggil saat tombol Send diketuk:

  1. Dalam file app > java > com.example.myfirstapp > MainActivity, tambahkan stub metode sendMessage() berikut:

    Kotlin

    class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } /** Called when the user taps the Send button */ fun sendMessage(view: View) { // Do something in response to button } }

    Java

    public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** Called when the user taps the Send button */ public void sendMessage(View view) { // Do something in response to button } }

    Anda mungkin menemui error karena Android Studio tidak dapat menyelesaikan class View yang digunakan sebagai argumen metode. Untuk mengatasi error, klik deklarasi View, letakkan kursor Anda di atasnya, lalu tekan Alt+Enter, atau Option+Enter di Mac, untuk menjalankan Quick Fix. Jika muncul menu, pilih Import class.

  2. Kembali ke file activity_main.xml untuk memanggil metode dari tombol:
    1. Pilih tombol di Layout Editor.
    2. Di jendela Attributes, cari properti onClick lalu pilih sendMessage [MainActivity] dari menu drop-down.

    Sekarang, saat tombol diketuk, sistem akan memanggil metode sendMessage().

    Perhatikan detail dalam metode ini. Detail ini diperlukan agar sistem mengenali metode tersebut sebagai yang kompatibel dengan atribut android:onClick. Secara mendetail, metode ini memiliki karakteristik sebagai berikut:

    • Akses publik.
    • Void, atau di Kotlin, nilai hasil unit implisit.
    • View sebagai satu-satunya parameter. Ini adalah objek View yang Anda klik di akhir Langkah 1.
  3. Berikutnya, isi metode ini untuk membaca konten kolom teks dan mengirimkan teks ke aktivitas lain.