[Tutorial Lanjutan] Cara Membuka Activity Baru Pada Child Element ExpandableListView di Android Studio

Tutorial Cara Membuka Activity Baru pada ExpandableListView di Android Studio

Halo semuanya, bagaimana kabar kalian hari ini? Saya harap kalian semua dalam keadaan yang baik-baik saja. Melanjutkan tutorial sebelumnya tentang ExpandableListView, jadi pada kesempatan kali ini saya akan membagikan artikel Tutorial Cara Membuka Activity Baru Pada Child Element ExpandableListView di Android Studio.

Tidak perlu lagi dijelaskan lebih dalam karena sudah saya jelaskan di tutorial sebelumnya. Jadi di tutorial ini kita akan belajar membuat element child pada expandablelistview bisa membuka activity baru ketika di klik.

Tutorial Cara Membuka Activity Baru Pada Element Child ExpandableListView di Android Studio

Karena ini adalah tutorial lanjutan, maka kita tidak perlu membuat projek yang baru. Cukup menggunakan projek sebelumnya. Kalian bisa mempelajarinya pada link dibawah ini.

Apabila kalian sudah memahami nya, kalian bisa mengikuti tutorial dibawah ini.

Daftar file xml layout yang digunakan dalam projek ini:

  1. activity_main.xml (tutorial sebelumnya)
  2. child_item.xml (tutorial sebelumnya)
  3. parent_item.xml (tutorial sebelumnya)
  4. activity_facebook.xml (tutorial sekarang)

Daftar file java activity yang digunakan dalam projek ini:

  1. MainActivity.java (tutorial sebelumnya + perbarui)
  2. ListAdapter.java (tutorial sebelumnya)
  3. FacebookActivity.java (tutorial sekarang)

Dibawah ini adalah langkah-langkah membuat aplikasi Expandable App.

Langkah 1: Membuat activity baru

Buatlah dua activity baru dalam projek dengan cara klik kanan pada folder res lalu pilih New>Activity>Empty Activity. Pada kolom Activity Name tulis FacebookActivity setelah itu klik tombol Finish. Kemudian buat lagi activity baru dengan nama BitcoinActivity.

Langkah 2: Tambahkan kode pada MainActivity.java

Buka file MainActivity dalam folder java lalu pada function setOnChildClickListener tambahkan switch case untuk membuat child element bisa membuka activity. Berikut ini adalah kode lengkap untuk file MainActivity.java

app/java/com.androidrion.expandableapp/MainActivity.java

package com.androidrion.expandableapp;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.Toast;

public class MainActivity extends Activity {
    List<String> ChildList;
    Map<String, List<String>> ParentListItems;
    ExpandableListView expandablelistView;
    List<String> ParentList = new ArrayList<>();

    {
        ParentList.add("Social Media");
        ParentList.add("Chatting App");
        ParentList.add("Video Streaming App");
        ParentList.add("UI Design");
        ParentList.add("Operating System");
        ParentList.add("Browser App");
        ParentList.add("Payment Method");
        ParentList.add("Cryptocurrency");
    }

    String[] SocialMedia = {"Facebook", "Twitter", "Instagram", "Snapchat"};
    String[] ChattingApp = {"WhatsApp", "LINE", "KakaoTalk", "Telegram", "Messenger"};
    String[] VideoStreamerApp = {"YouTube", "TikTok", "Vine", "Vimeo"};
    String[] UIDesign = {"Figma", "Adobe XD", "Sketch", "Framer"};
    String[] OSystem = {"Android", "Windows", "iOS"};
    String[] BrowserApp = {"Opera", "Mozilla", "Chrome", "Safari", "Edge"};
    String[] PaymentMethod = {"PayPal", "Mastercard", "Visa"};
    String[] Crypto = {"Bitcoin", "Ethereum"};
    String[] ByDefalutMessage = {"Items Loading"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ParentListItems = new LinkedHashMap<>();
        for (String HoldItem : ParentList) {
            switch (HoldItem) {
                case "Social Media":
                    loadChild(SocialMedia);
                    break;
                case "Chatting App":
                    loadChild(ChattingApp);
                    break;
                case "Video Streaming App":
                    loadChild(VideoStreamerApp);
                    break;
                case "UI Design":
                    loadChild(UIDesign);
                    break;
                case "Operating System":
                    loadChild(OSystem);
                    break;
                case "Browser App":
                    loadChild(BrowserApp);
                    break;
                case "Payment Method":
                    loadChild(PaymentMethod);
                    break;
                case "Cryptocurrency":
                    loadChild(Crypto);
                    break;
                default:
                    loadChild(ByDefalutMessage);
                    break;
            }
            ParentListItems.put(HoldItem, ChildList);
        }
        expandablelistView = findViewById(R.id.expandableListView1);
        final ExpandableListAdapter expListAdapter = new ListAdapter(this, ParentList, ParentListItems);
        expandablelistView.setAdapter(expListAdapter);
        expandablelistView.setOnChildClickListener((parent, v, groupPosition, childPosition, id) -> {
            final String selected = (String) expListAdapter.getChild(groupPosition, childPosition);

            switch (selected) {
                case "Facebook":
                    startActivity(new Intent(MainActivity.this, FacebookActivity.class));
                    break;
                case "Bitcoin":
                    startActivity(new Intent(MainActivity.this, BitcoinActivity.class));
                    break;
            }

            Toast.makeText(getBaseContext(), selected, Toast.LENGTH_SHORT).show();

            return true;
        });
    }

    private void loadChild(String[] ParentElementsName) {
        ChildList = new ArrayList<>();
        ChildList.addAll(Arrays.asList(ParentElementsName));
    }
}

Langkah 3: Jalankan projek

Jika kalian sudah menambahkan kode diatas, silahkan kalian jalankan projek Android Studio kalian. Saat kalian menjalankan aplikasi, pada child item facebook di klik maka akan membuka activity baru. itu juga berlaku dengan child item bitcoin. Jika kode diatas tidak terjadi error, maka aplikasi akan terlihat seperi pada video dibawah ini.

Akhir Kata…

Itulah tadi tutorial singkat dan mudah Cara Membuat Activity Baru pada ExpandableListView di Android Studio. Langkah-langkah diatas sangat mudah dikerjakan karena tidak begitu banyak kode yang ditambahkan pada file MainActivity.java.

Jika kalian mengalam kendala saat melakukan tutorial diatas, silahkan berkomentar dibawah pada artikel ini. Dan jangan lupa juga untuk Subscribe Chanel YouTube Android Rion – Tutorial agar kalian bisa mendapatkan tutorial versi videonya. Semoga tutorial ini bisa membantu kalian. Terima kasih. 🙂

Download Projek

Klik tombol dibawah ini untuk mendapatkan projek pada artikel ini

Exit mobile version