Halo semuanya, bagaimana kabar kalian hari ini? Saya harap kalian semua dalam keadaan yang baik-baik saja. Melanjutkan tutorial sebelumnya tentang Cara Membuat ExpandableListView Di Android Studio, Maka pada artikel ini saya akan membagikan Tutorial Cara Membuat setOnClickListener Pada ExpandableListView Di Android Studio.
Seperti yang sudah saya katakan pada tutorial sebelumnya bahwa ExpandableListView adalah tampilan list dropdown termasuk elemen sub anak yang disertakan di dalamnya. Pada jenis tampilan list ini ada fungsi setOnChildClickListener yang digunakan sebagai pengganti setOnClickListener.
Jadi pada artikel ini kita akan belajar cara menggunakan function setOnClickListener pada ExpandableListView di Android Studio.
Tutorial Cara Membuat SetOnClickListener Pada ExpandableListView Di Android Studio
Karena ini adalah tutorial lanjutan, maka pada tutorial ini kita tidak perlu membuat projek baru. Cukup menggunakan projek yang sudah kalian buat pada tutorial sebelumnya. Klik link dibawah ini untuk mempelajarinya.
Apabila kalian sudah paham, kalian bisa mengikuti tutorial dibawah ini.
Daftar file yang di perbarui pada projek ini:
- MainActivity.java (tutorial sebelumnya + perbarui)
Dibawah ini adalah langkah-langkah dalam pembuatan aplikasi Expandable App.
Langkah 1: Tambahkan kode pada file MainActivity.java
Buka file MainActivity.java dalam folder java. Tambahkan function pada variable expandablelistView tepat berada funcion setAdapter. Lalu tambahkan String untuk menampilkan informasi pada Toast yang akan di tampilkan. Dibawah 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.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);
Toast.makeText(getBaseContext(), selected, Toast.LENGTH_LONG).show();
return true;
});
}
private void loadChild(String[] ParentElementsName) {
ChildList = new ArrayList<>();
ChildList.addAll(Arrays.asList(ParentElementsName));
}
}
Langkah 2: Jalankan projek
Jika kalian sudah tambahkan kode diatas, silahkan jalankan projek Android Studio kalian. Saat aplikasi berjalan, Kalian akan diperlihatkan daftar yang bisa menampilkan menu dropdown jika kalian mengklik salah satu daftar yang ada. Dan apabila kalian pilih salah satu daftar yang terdapat dalam menu dropdown maka aplikasi akan menampilkan toast yang berisikan informasi nama dari menu yang kalian klik. Jika kode diatas tidak terjadi error, maka aplikasi akan terlihat seperti pada video dibawah ini.
AKHIR KATA
Itulah tadi Tutorial Cara Menambahkan setOnClickListener Pada ExpandableListView di Android Studio. Menggunakan setOnClickListener pada ExpandableListView tidak begitu rumit. Kalian pasti bisa menuliskannya pada program kalian karena tidak begitu banyak kode yang harus ditambahkan.
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