Belajar Membuat ExpandableListView Sederhana Android

CODEORAYO COMMUNITY Programming Tutorial Mobile Development Belajar Membuat ExpandableListView Sederhana Android

  • Post
    codeorayo
    Keymaster
    none
    Expandable ListView adalah salah satu container yang termasuk komponen user inteface , pada Aplikasi Android, yang berfungsi untuk mengelompokan dan memuat list/daftar data ,dalam bentuk kategori. Jadi di dalam Expandable ListView ,terdapat dua level atau tingkatan ListView , satu tingkatan level grup , satu lagi tingkatan level child. Setiap grup memiliki childnya masing-masing, contoh yang bisa kita ambil dalam kategori Grup adalah Nama Binatang ,memiliki child yang dapat memuat dan menampilkan data seperti Anjing ,Kucing ,Cicak. Jadi sekali lagi , saat kita menjalankan Aplikasinya pertama kali . Aplikasi akan menampilkan ListView dalam kategori Grup saja ,contohnya seperti Nama Binatang. Nah , untuk menampilkan data yang berisi Nama Binatang ,yaitu child dari grup. Kita bisa membuka datanya dengan cara memilih grup Nama Binatang ,atau bisa disebut Expanded. Jika kita ingin menutup  datanya kembali ,kita bisa memilih grup Nama Binatang kembali ,atau bisa disebut Collapsed.

    [img width=400,height=266]https://1.bp.blogspot.com/-O_m7EDV-LpY/WWRXNsoa6II/AAAAAAAAHJ0/dWf8OqZC1vAeJf8aPzZEK77J1BstYM3RACLcBGAs/s400/tutorial-cara-belajar-buat-coding-expandablelistview-android-studio.png[/img]

    Pada tutorial belajar android kali ini , kita akan Belajar Membuat Expandable ListView Sederhana Android. Adapun, data-data yang akan kita tampilkan ,ke dalam bentuk Expandable ListView , kalian bisa perhatikan pada contoh gambar di bawah:

    [table]

    [tr]

    [/tr]

    [tr]

    [/tr]

    [/table]

    [td][img width=400,height=110]https://1.bp.blogspot.com/-tB3BqVztI2c/WWQgWRMbRfI/AAAAAAAAHJA/duIRhxVOuSwMskYG8el1d_JcW8bwEMacQCLcBGAs/s400/contoh-data-data-expandable-listview-android-studio.png[/img][/td]
    [td]Contoh data [/td]

    1. Pertama-tama kalian bisa membuat project baru , atau yang sudah ada di Android Studio.

    2. Disini kita akan menggunakan 3 file layout untuk mendescribing data resource , yang bernama activity_main.xml (default) ,grup_item.xml (layout untuk grup) ,child_item.xml (layout untuk child).

    Untuk membuat file layout xml baru ,kalian bisa mengikuti cara berikut:

    •   Klik kanan pada folder layout , lalu pilih New 

    •   Pilih XML lalu pilih Layout XML file.


      [table]

      [tr]

      [/tr]

      [tr]

      [/tr]

      [/table]

      [td][img width=640,height=432]https://2.bp.blogspot.com/-p3EMarNDIBk/WWQjbkc-AyI/AAAAAAAAHJE/Q8-AKU8dn4sFTzx524Xuxt-O33zrL5OPwCLcBGAs/s640/buat-create-new-file-layout-xml-android-studio.png[/img][/td]
      [td]Membuat file layout xml baru[/td]

      Pada bagian jendela Configure Component , kalian bisa menentukan nama file layout xml , pada kolom Layout File Name lalu menentukan Root View seperti LinearLayout ,atau RelativeLayout , pada kolom Root Tag. Setelah itu, jika sudah pilih tombol Finish.

      [table]

      [tr]

      [/tr]

      [tr]

      [/tr]

      [/table]

      [td][img width=400,height=320]https://2.bp.blogspot.com/-eM2VyiBIrsk/WWQmOYMMCiI/AAAAAAAAHJI/YkFUFamS0Qs2qiIqO_c7gjYwpxZ57wZQwCLcBGAs/s400/new-android-configure-component.png[/img][/td]
      [td]Configure Component[/td]

      3. Setelah kita  membuat file layout baru , kali ini kita akan mencoba menerapkan baris instruksi (codingan) pada file layout xml.  Berikut contoh codenya.

      activity_main.xml


      1.         xmlns:android=”http://schemas.android.com/apk/res/android

      2.         android:layout_width=”match_parent”

      3.         android:layout_height=”match_parent”

      4.  

      5.         >

      6.  

      7.     

      8.             android:id=”@+id/exp_list_item”

      9.             android:layout_width=”match_parent”

      10.             android:layout_height=”match_parent”>

      11.  

      12.     

      13.    

      14.    

      15.  



      16. Seperti yang kalian mungkin sudah tahu , kita juga bisa mendrag secara langsung pada tab Design , lalu tepatnya pada bagian Pallete, Pilih Containers , lalu Pilih ExpandableListView , kemudian drag pada area layar preview perangkat Android.

        [table]

        [tr]

        [/tr]

        [tr]

        [/tr]

        [/table]

        [td][img width=400,height=312]https://1.bp.blogspot.com/-TkiQ0TUUfp0/WWQpRtDlX5I/AAAAAAAAHJM/BUVd9oRmuGwNEyDJhsnP9B6n8ufpMmYigCLcBGAs/s400/contoh-preview-expandablelistview-android-studio.png[/img][/td]
        [td]Design ExpandableListView[/td]

        grup_item.xml


        1. http://schemas.android.com/apk/res/android“

        2.               android:layout_width=”match_parent”

        3.               android:layout_height=”match_parent”

        4.               xmlns:tools=”http://schemas.android.com/tools

        5.         >

        6.  

        7.     

        8.             tools:text=”CONTOH”

        9.             android:id=”@+id/grup_header”

        10.             android:layout_width=”match_parent”

        11.             android:layout_height=”wrap_content”

        12.             android:background=”#C8E6C9″

        13.             android:paddingLeft=”?android:attr/expandableListPreferredItemPaddingLeft”

        14.             android:textAllCaps=”true”

        15.             android:textSize=”36sp”

        16.             android:textStyle=”bold”/>

        17.  



        18. Disini kita akan menggunakanya sebagai nama-nama dari grup seperti “Nama Binatang” dan “Bahasa Pemrograman”  . Kalian bisa mengkustomisasi ,besar ,warna ,ketebalan textnya sendiri.

          child_item.xml


          1. http://schemas.android.com/apk/res/android“

          2.               android:layout_width=”match_parent”

          3.               android:layout_height=”match_parent”>

          4.  

          5.     

          6.             android:id=”@+id/child_konten”

          7.             android:layout_alignParentLeft=”true”

          8.             android:layout_centerVertical=”true”

          9.             android:layout_width=”wrap_content”

          10.             android:layout_height=”wrap_content”

          11.             android:paddingTop=”5dp”

          12.             android:paddingBottom=”5dp”

          13.             android:paddingLeft=”?android:attr/expandableListPreferredChildPaddingLeft”

          14.             android:textSize=”24sp”/>

          15.  



          16. Disini juga kita akan menggunakanya,  sebagai nama-nama child dari tiap grup seperti “Anjing” ,”Kucing” , “Cicak” dari grup “Nama Binatang”  dan “Java” ,”PHP” ,”SQL” dari grup “Bahasa Pemrograman”  . Kalian bisa mengkustomisasi ,besar ,warna ,ketebalan textnya sendiri.

            4. Selanjutnya kita masuk kepada logic bahasa pemrogramanya , disini kita akan menggunakan file java yang bernama , Grup.java , Child.java (Model Class) , ExpandListAdapter(Adapter) , MainActivity.java (Default).

            Untuk membuat file java baru , kalian bisa ikuti langkah berikut:

            Klik kanan pada package (contoh : com.okedroid.contohaplikasi)

            Lalu pilih New > Pilih Java Class.

            [table]

            [tr]

            [/tr]

            [tr]

            [/tr]

            [/table]

            [td][img]https://2.bp.blogspot.com/-mQ-Al7FzZM4/WWQwa-p60jI/AAAAAAAAHJU/rU37rT7ibJwd0r4fwp_jivk5CcwhbpUdwCLcBGAs/s1600/buat-create-file-java-android-studio.png[/img][/td]
            [td]Membuat file java baru[/td]

            Lalu pada jendela Create New Class  , kita bisa mengisi file javanya dengan cara mengisi kolom Name. Jika sudah pilih tombol OK.

            [table]

            [tr]

            [/tr]

            [tr]

            [/tr]

            [/table]

            [td][img width=320,height=256]https://1.bp.blogspot.com/-WwRdufQlgfg/WWQ1hO5pslI/AAAAAAAAHJc/-3-6GisHmygI7MMUAOvIDL3PWUTGS47CQCLcBGAs/s320/create-membuat-file-baru-class-java-android-studio.png[/img][/td]
            [td]Create New Class[/td]

            5. Setelah berhasil membuat  file java baru , kali ini kita akan menerapkan codenya pada file java tersebut. Berikut contoh codenya:

            Contoh code:

            Membuat Model Class Grup.java dan Child.java

            Grup.java

            1. package com.okedroid.contohaplikasi;

            2.  

            3. import java.util.ArrayList;

            4.  

            5. /**

            6.  * Created by FATHUR on 7/6/2017.

            7.  */

            8.  

            9. public class Group {

            10.  

            11.     private String nama;

            12.  

            13.     private ArrayList item;

            14.  

            15.     public String getNama() {

            16.         return nama;

            17.         //getter

            18.     }

            19.  

            20.     public void setNama(String nama) {

            21.         this.nama = nama;

            22.         //setter

            23.     }

            24.  

            25.     public ArrayList getItem() {

            26.         return item;

            27.         //getter

            28.     }

            29.  

            30.     public void setItem(ArrayList item) {

            31.         this.item = item;

            32.         //setter

            33.     }

            34. }


              Penjelasan :

              Disini kita membuat Model Class pertama yaitu Grup.java , yang dimana kita  mendefinisikan atribut dengan Getter dan Setter ,dengan tipe data String dan juga salah satu Collection yaitu ArrayList ,yang biasa di gunakan saat kita coding ,di bahasa pemrograman Java .Yang nanti berfungsi untuk membuat objek dan menginput data seperti ,“Nama Binatang” dan “Bahasa Pemrograman”  .

              Child.java

              1. package com.okedroid.contohaplikasi;

              2.  

              3. /**

              4.  * Created by FATHUR on 7/6/2017.

              5.  */

              6.  

              7. public class Child {

              8.  

              9.  

              10.     private String nama;

              11.  

              12.     public String getNama() {

              13.         return nama;

              14.         //getter

              15.     }

              16.  

              17.     public void setNama(String nama) {

              18.         this.nama = nama;

              19.             //setter

              20.  

              21.     }

              22. }


                Penjelasan :

                Disini kita membuat Model Class kedua yaitu Child.java, yang dimana kita  mendefinisikan atribut dengan Getter dan Setter ,dengan tipe data String. Yang nanti berfungsi untuk membuat objek dan menginput data seperti,  “Anjing” ,”Kucing” , “Cicak” dari grup “Nama Binatang”  lalu “Java” ,”PHP” ,”SQL” dari grup “Bahasa Pemrograman” .

                Membuat class Adapter ExpandListAdapter.java

                 ExpandListAdapter.java

                1. package com.okedroid.contohaplikasi;

                2.  

                3. import android.content.Context;

                4. import android.view.LayoutInflater;

                5. import android.view.View;

                6. import android.view.ViewGroup;

                7. import android.widget.BaseExpandableListAdapter;

                8. import android.widget.TextView;

                9.  

                10. import java.util.ArrayList;

                11. import java.util.List;

                12.  

                13. /**

                14.  * Created by FATHUR on 7/6/2017.

                15.  */

                16.  

                17. public class ExpandListAdapter extends BaseExpandableListAdapter{

                18. //menwariskan class BaseExpandableListAdapter

                19.  

                20.  

                21.  

                22.     private Context context;

                23.     private ArrayList groups;

                24.  

                25.     //deklarasi var context dan groups

                26.  

                27.  

                28.  

                29.  

                30.     public ExpandListAdapter(Context context, ArrayList groups) {

                31.         this.context = context;

                32.         this.groups = groups;

                33.  

                34.         //constructor

                35.     }

                36.  

                37.  

                38.     @Override

                39.     public Object getChild(int groupPosition, int childPosition) {

                40.  

                41.  

                42.         ArrayList childList = groups.get(groupPosition).getItem();

                43.  

                44.         return childList.get(childPosition);

                45.  

                46.         //mengambil nilai atau value dari child

                47.     }

                48.  

                49.  

                50.  

                51.     @Override

                52.     public long getChildId(int groupPosition, int childPosition) {

                53.         return childPosition;

                54.         //mengambil id dari child

                55.     }

                56.  

                57.     @Override

                58.     public View getChildView(int groupPosition, int childPosition, boolean isLastChild,

                59.                              View convertView, ViewGroup parent) {

                60.  

                61.         Child child = (Child)getChild(groupPosition,childPosition);

                62.        if(convertView == null){

                63.            LayoutInflater layoutInflater = (LayoutInflater)context

                64.                    .getSystemService(context.LAYOUT_INFLATER_SERVICE);

                65.            convertView = layoutInflater.inflate(R.layout.child_item,null);

                66.  

                67.        }

                68.  

                69.         TextView textView = (TextView)convertView.findViewById(R.id.child_konten);

                70.  

                71.         String text = child.getNama();

                72.         textView.setText(text);

                73.  

                74.       //menampilkan data ke view layout child_item.xml

                75.         return convertView;

                76.     }

                77.  

                78.     @Override

                79.     public int getGroupCount() {

                80.         return groups.size();

                81.         //mengambil nilai atau value dari jumlah grup

                82.     }

                83.  

                84.     @Override

                85.     public int getChildrenCount(int groupPosition) {

                86.        List child ;

                87.        child = groups.get(groupPosition).getItem();

                88.         //Mengambil jumlah child berdasarkan grup tertentu

                89.           return child.size();

                90.     }

                91.  

                92.     @Override

                93.     public Object getGroup(int groupPosition) {

                94.  

                95.        // Mengambil data yang terkait object grup

                96.         return groups.get(groupPosition);

                97.     }

                98.  

                99.     @Override

                100.     public long getGroupId(int groupPosition) {

                101. //Mengambil id yang terkait grup

                102.         return groupPosition;

                103.     }

                104.  

                105.     @Override

                106.     public boolean hasStableIds() {

                107.         return true;

                108.         //Menunjukan apakah id dari grup dan child stabil terkait perubahan data di dalamnya

                109.     }

                110.  

                111.     @Override

                112.     public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {

                113.  

                114.         Group group = (Group)getGroup(groupPosition);

                115.  

                116.         if(convertView == null){

                117.        LayoutInflater layoutInflater = (LayoutInflater)

                118.                context.getSystemService(context.LAYOUT_INFLATER_SERVICE);

                119.  

                120.             convertView = layoutInflater.inflate(R.layout.grup_item,null);

                121.  

                122.             TextView textView = (TextView)convertView.findViewById(R.id.grup_header);

                123.             String text = group.getNama();

                124.  

                125.             textView.setText(text);

                126.  

                127.  

                128.         }

                129.  

                130.  

                131.       // //menampilkan data ke view layout grup_item.xml

                132.         return convertView;

                133.     }

                134.  

                135.     @Override

                136.     public boolean isChildSelectable(int groupPosition, int childPosition) {

                137.         return true;

                138.         //Menunjukan apakah posisi child tertentu dapat di selectable

                139.     }

                140. }


                  Penjelasan : 

                  Adapter berfungsi untuk binding data ,memproses dan memformat konten (pull konten)  dari resource seperti Collection atau Database ,kemudian di convert setiap item ke dalam tampilan list/daftar.  

                  Nah ,disini kita akan mewarisi (extends) class Abstract yaitu BaseExpandableListAdapter. Yang dimana akan kita instansiasi melalu class  ExpandListAdapter .

                  Lalu kita mendeklarasi var private Context context; dan private ArrayList groups;

                  Selanjutnya kalian bisa membuat Constructor dan method Override , dengan menekan tombol Alt + Insert pada Keyboard di Komputer kalian.  Oh ya tak lupa juga ,kalian juga bisa membuat Getter dan Setter disini ,dimana sebelumnya kita telah membuatnya pada Model Class Grup.java dan Child.java .Lalu akan muncul contoh gambar berikut :

                  [table]

                  [tr]

                  [/tr]

                  [tr]

                  [/tr]

                  [/table]

                  [td][img]https://1.bp.blogspot.com/-Ey9gjYPQ25A/WWRAjPgyZaI/AAAAAAAAHJk/NgsvZyzZkgsware_V7ruNKyIYTrGNmtRwCLcBGAs/s1600/generate-android-studio.png[/img][/td]
                  [td]Generate [/td]

                  Berikut beberapa daftar method Override yang digunakan pada ExpandListAdapter .java. Untuk membuat ExpandableListView.

                   public Object getChild(int groupPosition, int childPosition) =  Mengambil nilai atau data yang terkait dengan object Child  di dalam object Grup. Berdasarkan posisi grup dan child

                    public long getChildId(int groupPosition, int childPosition) = Mengambil id terkait dengan posisi Child  di dalam  Grup.

                   public View getChildView(int groupPosition, int childPosition, boolean isLastChild,

                                               View convertView, ViewGroup parent) = 

                  Mengambil dan mengconvert berdasarkan nilai atau data dari View terkait dengan object Child  di dalam object Grup. . Jadi dengan method ini kita akan menentukan nilai atau data yang mana akan kita convert dan tampilkan ke dalam layout child_item.xml.

                  public int getGroupCount() =   Mengambil nilai atau value dari jumlah grup

                  public int getChildrenCount(int groupPosition) = Mengambil jumlah child berdasarkan grup tertentu

                   public Object getGroup(int groupPosition) = Mengambil data yang terkait object grup

                  public long getGroupId(int groupPosition) =  Mengambil id yang terkait grup

                  public boolean hasStableIds() =Menunjukan apakah id dari grup dan child stabil terkait perubahan data di dalamnya

                   public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) =

                  Sama seperti method getChildView() , disini kita akan mengambil dan mengconvert berdasarkan nilai atau data dari View terkait object Grup. Yang dimana kita akan menentukan nilai atau data yang mana akan kita convert dan tampilkan ke dalam layout grup_item.xml.

                  public boolean isChildSelectable(int groupPosition, int childPosition) =

                  Menunjukan apakah posisi child tertentu dapat di selectable

                  MainActivity.java (Default)

                  DATA HOSTED WITH ♥ BY PASTEBIN.COM – DOWNLOAD RAW – SEE ORIGINAL

                  1. package com.okedroid.contohaplikasi;

                  2.  

                  3. import android.os.Bundle;

                  4. import android.support.v7.app.AppCompatActivity;

                  5. import android.view.View;

                  6. import android.widget.ExpandableListAdapter;

                  7. import android.widget.ExpandableListView;

                  8. import android.widget.Toast;

                  9.  

                  10. import java.util.ArrayList;

                  11.  

                  12.  

                  13. /*

                  14. Fathurrahman (okedroid.com)

                  15.  */

                  16. public class MainActivity extends AppCompatActivity {

                  17.  

                  18.  

                  19.     private ExpandableListAdapter expandableListAdapter;

                  20.     private ArrayList groupExpandList;

                  21.     private ExpandableListView expandableListView;

                  22.     //mendeklarasikan object Expandable ListAdapter ,ArrayList dan ExpandableListView

                  23.  

                  24.  

                  25.     @Override

                  26.     protected void onCreate(Bundle savedInstanceState) {

                  27.  

                  28.         super.onCreate(savedInstanceState);

                  29.         setContentView(R.layout.activity_main);

                  30.  

                  31.  

                  32.         getSupportActionBar().setTitle(“Expandable ListView”);

                  33.         getSupportActionBar().setSubtitle(“Belajar di okedroid.com”);

                  34.  

                  35.  

                  36.         expandableListView = (ExpandableListView) findViewById(R.id.exp_list_item);

                  37.         //menginisialisasi object dari container ExpandableListView yang berada di activity_main.xml

                  38.  

                  39.  

                  40.         groupExpandList = inputData();

                  41.         //memberikan nilai pada object groupExpandList berdasarkan method inputData()

                  42.  

                  43.         expandableListAdapter = new ExpandListAdapter(this, groupExpandList);

                  44.         //menginstansiasi object dari class Adapter ExpandListAdapter

                  45.  

                  46.         expandableListView.setAdapter(expandableListAdapter);

                  47.         //mensetting nilai berdasarkan  objectexpandableListAdapter

                  48.         // dari method di object  expandableListView

                  49.  

                  50.         expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {

                  51.             @Override

                  52.             public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {

                  53.  

                  54.                 String namagrup = groupExpandList.get(groupPosition).getNama();

                  55.  

                  56.                 ArrayList childList = groupExpandList.get(groupPosition).getItem();

                  57.  

                  58.                 String namachild = childList.get(childPosition).getNama();

                  59.  

                  60.                 tampilPesan(namagrup+ ” = “+namachild);

                  61.  

                  62.                 //method dari object  expandableListView yang dimana ketika di klik akan menampilkan

                  63.                 //data dari Child yang ada di dalam Grup

                  64.                 //serta menampilkan pesan text Toast

                  65.  

                  66.                 return false;

                  67.  

                  68.             }

                  69.  

                  70.         });

                  71.  

                  72.  

                  73.         expandableListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {

                  74.             @Override

                  75.             public void onGroupExpand(int groupPosition) {

                  76.                 String namagrup = groupExpandList.get(groupPosition).getNama();

                  77.                 tampilPesan(namagrup+” Di buka “);

                  78.                 //method untuk membuka list data dari Child

                  79.  

                  80.             }

                  81.         });

                  82.  

                  83.  

                  84.        expandableListView.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() {

                  85.            @Override

                  86.            public void onGroupCollapse(int groupPosition) {

                  87.                String namagrup = groupExpandList.get(groupPosition).getNama();

                  88.                tampilPesan(namagrup+” Di tutup”);

                  89.                //method untuk menutup list data dari Child

                  90.            }

                  91.        });

                  92.  

                  93.  

                  94.     }

                  95.  

                  96.  

                  97.  

                  98.  

                  99.  

                  100.  

                  101.  

                  102.     public ArrayList inputData() {

                  103.           //method untuk menginput data

                  104.         ArrayList groupArrayList = new ArrayList();

                  105.         ArrayList childArrayList ;

                  106.  

                  107.         //Setting Grup 1

                  108.  

                  109.         childArrayList = new ArrayList();

                  110.         Group grup1 = new Group();

                  111.  

                  112.  

                  113.         grup1.setNama(“Nama Binatang”);

                  114.  

                  115.         Child binatang1 = new Child();

                  116.         binatang1.setNama(“Anjing”);

                  117.         childArrayList.add(binatang1);

                  118.  

                  119.  

                  120.         Child binatang2 = new Child();

                  121.         binatang2.setNama(“Kucing”);

                  122.         childArrayList.add(binatang2);

                  123.  

                  124.         Child binatang3 = new Child();

                  125.         binatang3.setNama(“Cicak”);

                  126.         childArrayList.add(binatang3);

                  127.  

                  128.         //mensetting data object childArrayList dari object grup1

                  129.         grup1.setItem(childArrayList);

                  130.  

                  131.        //Setting Grup 2

                  132.         childArrayList = new ArrayList();

                  133.  

                  134.         Group grup2 = new Group();

                  135.         grup2.setNama(“Bahasa Pemrograman”);

                  136.  

                  137.  

                  138.         Child program1 = new Child();

                  139.         program1.setNama(“Java”);

                  140.         childArrayList.add(program1);

                  141.  

                  142.         Child program2 = new Child();

                  143.         program2.setNama(“SQL”);

                  144.         childArrayList.add(program2);

                  145.  

                  146.         Child program3 = new Child();

                  147.         program3.setNama(“PHP”);

                  148.  

                  149.         childArrayList.add(program3);

                  150.  

                  151.         //mensetting data object childArrayList dari object grup2

                  152.         grup2.setItem(childArrayList);

                  153.  

                  154.         //mendaftarkan ke object grup

                  155.         groupArrayList.add(grup1);

                  156.         groupArrayList.add(grup2);

                  157.  

                  158.  

                  159.         return groupArrayList;

                  160.     }

                  161.  

                  162.  

                  163.     public void tampilPesan(String pesan){

                  164. //method untuk menampilkan pesan text toast

                  165.         Toast.makeText(this, pesan, Toast.LENGTH_SHORT).show();

                  166.  

                  167.     }

                  168. }


                    Penjelasan :

                    Pada file class java utama ini ,kita akan menginput data ,yang akan di tampilkan dalam bentuk ExpandableListView , setelah kita membuat class Model dan Adapternya. Di awali dengan membuat object dari ExpandableListAdapter , ArrayList ,ExpandableListView.

                    Diikuti dengan menginisialisasi object dari container ExpandableListView yang berada di activity_main.xml , lalu memberikan nilai pada object groupExpandList berdasarkan method inputData().

                    Lalu menginstansiasi object dari class Adapter ExpandListAdapter,mensetting nilai berdasarkan object expandableListAdapter dari method di object expandableListView. Lalu method .setOnChildClickListener ,yang dimana ketika di klik akan menampilkan data dari Child yang ada di dalam Grup serta menampilkan pesan text Toast

                    Method .setOnGroupExpandListener digunakan untuk membuka list data dari Child

                    Method .setOnGroupCollapseListener digunakan untuk  menutup list data dari Child

                     public ArrayList inputData() = Digunakan untuk mensetting dan menginput data yang ingin ditampilkan ke dalam bentuk ExpandableListView.

                    Method  public void tampilPesan(String pesan)  = Method untuk menampilkan pesan text toast

                    6.  Setelah itu kita jalankan Aplikasinya , di Android Studio.

                    Hasilnya kira-kira akan seperti ini:

                    [table]

                    [tr]

                    [/tr]

                    [tr]

                    [/tr]

                    [/table]

                    [td][img width=180,height=320]https://1.bp.blogspot.com/-I1jfM3sOY8c/WWRWsp5eFGI/AAAAAAAAHJw/3wRi-8Bh5-oJ03pgilvmHxVi0JeF60JUwCLcBGAs/s320/contoh-hasil-aplikasi-expandablelistview-android-studio.png[/img][/td]
                    [td]Contoh Hasil ExpandableListView

                    [/td]

                  • You must be logged in to reply to this topic.