Advertisement
Guest User

MainActivity.java

a guest
Jul 10th, 2017
4,073
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.95 KB | None | 0 0
  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<Group> 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<Child> 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<Group> inputData() {
  103.           //method untuk menginput data
  104.         ArrayList<Group> groupArrayList = new ArrayList<Group>();
  105.         ArrayList<Child> childArrayList ;
  106.  
  107.         //Setting Grup 1
  108.  
  109.         childArrayList = new ArrayList<Child>();
  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<Child>();
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement