Advertisement
Guest User

MainActivity.java

a guest
Sep 19th, 2019
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.73 KB | None | 0 0
  1. package com.dicoding.pocadiploma.masjidku;
  2.  
  3. import androidx.appcompat.app.AppCompatActivity;
  4. import androidx.recyclerview.widget.GridLayoutManager;
  5. import androidx.recyclerview.widget.LinearLayoutManager;
  6. import androidx.recyclerview.widget.RecyclerView;
  7.  
  8. import android.content.Intent;
  9. import android.os.Bundle;
  10. import android.view.Menu;
  11. import android.view.MenuItem;
  12. import android.widget.Toast;
  13.  
  14. import com.dicoding.pocadiploma.masjidku.adapter.AboutMasjidAdapter;
  15. import com.dicoding.pocadiploma.masjidku.adapter.CardViewMasjidAdapter;
  16. import com.dicoding.pocadiploma.masjidku.adapter.GridMasjidAdapter;
  17. import com.dicoding.pocadiploma.masjidku.adapter.ListMasjidAdapter;
  18. import com.dicoding.pocadiploma.masjidku.model.DataMasjid;
  19. import com.dicoding.pocadiploma.masjidku.model.Masjid;
  20.  
  21. import java.util.ArrayList;
  22.  
  23. public class MainActivity extends AppCompatActivity {
  24.     private RecyclerView rvMasjid;
  25.     private ArrayList<Masjid> list = new ArrayList<>();
  26.     private String title = "Mode List";
  27.  
  28.     @Override
  29.     protected void onCreate(Bundle savedInstanceState) {
  30.         super.onCreate(savedInstanceState);
  31.         setContentView(R.layout.activity_main);
  32.         setActionBarTitle(title);
  33.  
  34.         rvMasjid = findViewById(R.id.rv_masjid);
  35.         rvMasjid.setHasFixedSize(true);
  36.  
  37.         list.addAll(DataMasjid.getListData());
  38.         showRecyclerList();
  39.     }
  40.  
  41.     private void setActionBarTitle(String title) {
  42.         if (getSupportActionBar() != null) {
  43.             getSupportActionBar().setTitle(title);
  44.         }
  45.     }
  46.  
  47.     private void showRecyclerList() {
  48.         rvMasjid.setLayoutManager(new LinearLayoutManager(this));
  49.         ListMasjidAdapter listMasjidAdapter = new ListMasjidAdapter(list);
  50.         rvMasjid.setAdapter(listMasjidAdapter);
  51.  
  52.         listMasjidAdapter.setOnItemClickCallback(new ListMasjidAdapter.OnItemClickCallback() {
  53.             @Override
  54.             public void onItemClicked(Masjid data) {
  55.                 showSelectedMasjid(data);
  56.             }
  57.         });
  58.     }
  59.  
  60.     private void showRecyclerGrid() {
  61.         rvMasjid.setLayoutManager(new GridLayoutManager(this, 2));
  62.         GridMasjidAdapter gridMasjidAdapter = new GridMasjidAdapter(list);
  63.         rvMasjid.setAdapter(gridMasjidAdapter);
  64.  
  65.         gridMasjidAdapter.setOnItemClickCallback(new GridMasjidAdapter.OnItemClickCallback() {
  66.             @Override
  67.             public void onItemClicked(Masjid data) {
  68.                 showSelectedMasjid(data);
  69.             }
  70.         });
  71.     }
  72.  
  73.     private void showRecyclerCardView() {
  74.         rvMasjid.setLayoutManager(new LinearLayoutManager(this));
  75.         CardViewMasjidAdapter cardViewHeroAdapter = new CardViewMasjidAdapter(list);
  76.         rvMasjid.setAdapter(cardViewHeroAdapter);
  77.     }
  78.  
  79.     private void showRecyclerAbout() {
  80.         Intent about = new Intent(MainActivity.this, AboutMasjidAdapter.class);
  81.         about.putExtra(AboutMasjidAdapter.EXTRA_AUTHOR, "Budiman Rasyid");
  82.         about.putExtra(AboutMasjidAdapter.EXTRA_EMAIL, "brasyid15@gmail.com");
  83.         startActivity(about);
  84.     }
  85.  
  86.     @Override
  87.     public boolean onCreateOptionsMenu(Menu menu) {
  88.         getMenuInflater().inflate(R.menu.menu_main, menu);
  89.         return super.onCreateOptionsMenu(menu);
  90.     }
  91.  
  92.     @Override
  93.     public boolean onOptionsItemSelected(MenuItem item) {
  94.         setMode(item.getItemId());
  95.         return super.onOptionsItemSelected(item);
  96.     }
  97.  
  98.     public void setMode(int selectedMode) {
  99.         switch (selectedMode) {
  100.             case R.id.action_list:
  101.                 title = "Mode List";
  102.                 setActionBarTitle(title);
  103.                 showRecyclerList();
  104.                 break;
  105.             case R.id.action_grid:
  106.                 title = "Mode Grid";
  107.                 setActionBarTitle(title);
  108.                 showRecyclerGrid();
  109.                 break;
  110.             case R.id.action_cardview:
  111.                 title = "Mode Cardview";
  112.                 setActionBarTitle(title);
  113.                 showRecyclerCardView();
  114.                 break;
  115.             case R.id.action_about:
  116.                 title = "Mode About";
  117.                 setActionBarTitle(title);
  118.                 showRecyclerAbout();
  119.                 break;
  120.         }
  121.     }
  122.  
  123.     private void showSelectedMasjid(Masjid masjid) {
  124.         Toast.makeText(this, "Kamu memilih " + masjid.getName(), Toast.LENGTH_SHORT).show();
  125.  
  126. //        Intent detail = new Intent(MainActivity.this, MainDetail.class);
  127. //        detail.putExtra(MainDetail.name, masjid.getName());
  128. //        detail.putExtra(MainDetail.lokasi, masjid.getLokasi());
  129. //        detail.putExtra(MainDetail.detail, masjid.getDetail());
  130. //        detail.putExtra(MainDetail.photo, masjid.getPhoto());
  131. //
  132. //        startActivity(detail);
  133.     }
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement