Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.dicoding.pocadiploma.masjidku;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.recyclerview.widget.GridLayoutManager;
- import androidx.recyclerview.widget.LinearLayoutManager;
- import androidx.recyclerview.widget.RecyclerView;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.widget.Toast;
- import com.dicoding.pocadiploma.masjidku.adapter.AboutMasjidAdapter;
- import com.dicoding.pocadiploma.masjidku.adapter.CardViewMasjidAdapter;
- import com.dicoding.pocadiploma.masjidku.adapter.GridMasjidAdapter;
- import com.dicoding.pocadiploma.masjidku.adapter.ListMasjidAdapter;
- import com.dicoding.pocadiploma.masjidku.model.DataMasjid;
- import com.dicoding.pocadiploma.masjidku.model.Masjid;
- import java.util.ArrayList;
- public class MainActivity extends AppCompatActivity {
- private RecyclerView rvMasjid;
- private ArrayList<Masjid> list = new ArrayList<>();
- private String title = "Mode List";
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- setActionBarTitle(title);
- rvMasjid = findViewById(R.id.rv_masjid);
- rvMasjid.setHasFixedSize(true);
- list.addAll(DataMasjid.getListData());
- showRecyclerList();
- }
- private void setActionBarTitle(String title) {
- if (getSupportActionBar() != null) {
- getSupportActionBar().setTitle(title);
- }
- }
- private void showRecyclerList() {
- rvMasjid.setLayoutManager(new LinearLayoutManager(this));
- ListMasjidAdapter listMasjidAdapter = new ListMasjidAdapter(list);
- rvMasjid.setAdapter(listMasjidAdapter);
- listMasjidAdapter.setOnItemClickCallback(new ListMasjidAdapter.OnItemClickCallback() {
- @Override
- public void onItemClicked(Masjid data) {
- showSelectedMasjid(data);
- }
- });
- }
- private void showRecyclerGrid() {
- rvMasjid.setLayoutManager(new GridLayoutManager(this, 2));
- GridMasjidAdapter gridMasjidAdapter = new GridMasjidAdapter(list);
- rvMasjid.setAdapter(gridMasjidAdapter);
- gridMasjidAdapter.setOnItemClickCallback(new GridMasjidAdapter.OnItemClickCallback() {
- @Override
- public void onItemClicked(Masjid data) {
- showSelectedMasjid(data);
- }
- });
- }
- private void showRecyclerCardView() {
- rvMasjid.setLayoutManager(new LinearLayoutManager(this));
- CardViewMasjidAdapter cardViewHeroAdapter = new CardViewMasjidAdapter(list);
- rvMasjid.setAdapter(cardViewHeroAdapter);
- }
- private void showRecyclerAbout() {
- Intent about = new Intent(MainActivity.this, AboutMasjidAdapter.class);
- about.putExtra(AboutMasjidAdapter.EXTRA_AUTHOR, "Budiman Rasyid");
- about.putExtra(AboutMasjidAdapter.EXTRA_EMAIL, "brasyid15@gmail.com");
- startActivity(about);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.menu_main, menu);
- return super.onCreateOptionsMenu(menu);
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- setMode(item.getItemId());
- return super.onOptionsItemSelected(item);
- }
- public void setMode(int selectedMode) {
- switch (selectedMode) {
- case R.id.action_list:
- title = "Mode List";
- setActionBarTitle(title);
- showRecyclerList();
- break;
- case R.id.action_grid:
- title = "Mode Grid";
- setActionBarTitle(title);
- showRecyclerGrid();
- break;
- case R.id.action_cardview:
- title = "Mode Cardview";
- setActionBarTitle(title);
- showRecyclerCardView();
- break;
- case R.id.action_about:
- title = "Mode About";
- setActionBarTitle(title);
- showRecyclerAbout();
- break;
- }
- }
- private void showSelectedMasjid(Masjid masjid) {
- Toast.makeText(this, "Kamu memilih " + masjid.getName(), Toast.LENGTH_SHORT).show();
- // Intent detail = new Intent(MainActivity.this, MainDetail.class);
- // detail.putExtra(MainDetail.name, masjid.getName());
- // detail.putExtra(MainDetail.lokasi, masjid.getLokasi());
- // detail.putExtra(MainDetail.detail, masjid.getDetail());
- // detail.putExtra(MainDetail.photo, masjid.getPhoto());
- //
- // startActivity(detail);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement