Advertisement
nurrohim11

Main Activity

Jul 20th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.11 KB | None | 0 0
  1. package com.example.nurrohim.moviedicoding;
  2.  
  3. import android.app.FragmentManager;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.support.design.widget.FloatingActionButton;
  7. import android.support.design.widget.Snackbar;
  8. import android.support.design.widget.TabLayout;
  9. import android.support.v4.view.ViewPager;
  10. import android.support.v7.widget.ToolbarWidgetWrapper;
  11. import android.text.Editable;
  12. import android.text.TextWatcher;
  13. import android.util.Log;
  14. import android.view.Gravity;
  15. import android.view.View;
  16. import android.support.design.widget.NavigationView;
  17. import android.support.v4.view.GravityCompat;
  18. import android.support.v4.widget.DrawerLayout;
  19. import android.support.v7.app.ActionBarDrawerToggle;
  20. import android.support.v7.app.AppCompatActivity;
  21. import android.support.v7.widget.Toolbar;
  22. import android.view.Menu;
  23. import android.view.MenuItem;
  24.  
  25. import com.example.nurrohim.moviedicoding.adapter.MoviesAdapter;
  26. import com.example.nurrohim.moviedicoding.fragment.NowPlayingFragment;
  27. import com.example.nurrohim.moviedicoding.model.search.ResultsItem;
  28. import com.mancj.materialsearchbar.MaterialSearchBar;
  29.  
  30. import java.util.ArrayList;
  31.  
  32. import butterknife.BindView;
  33. import butterknife.ButterKnife;
  34.  
  35. public class MainActivity extends AppCompatActivity
  36.         implements NavigationView.OnNavigationItemSelectedListener, MaterialSearchBar.OnSearchActionListener,TabLayout.OnTabSelectedListener   {
  37.  
  38.     private int mCounter;
  39.     @BindView(R.id.searchBar)
  40.     MaterialSearchBar searchBar;
  41.  
  42.     @BindView(R.id.toolbar)
  43.     Toolbar toolbar;
  44.  
  45.     @BindView(R.id.drawer_layout)
  46.     DrawerLayout drawer;
  47.  
  48.     @BindView(R.id.nav_view)
  49.     NavigationView navigationView;
  50.  
  51.     @BindView(R.id.tab_layout)
  52.     TabLayout tabLayout;
  53.  
  54.     @BindView(R.id.view_pager)
  55.     ViewPager viewPager;
  56.     private String query = "";
  57.  
  58.     @Override
  59.     protected void onCreate(Bundle savedInstanceState) {
  60.         super.onCreate(savedInstanceState);
  61.         setContentView(R.layout.activity_main);
  62.         ButterKnife.bind(this);
  63.  
  64.         setSupportActionBar(toolbar);
  65.         getSupportActionBar().setTitle("Movies");
  66.  
  67.         setupDrawer();
  68.  
  69.             setupTab();
  70.  
  71.         selectNav(0);
  72.         searchBar.setOnSearchActionListener(this);
  73.         searchBar.inflateMenu(R.menu.menu_utama);
  74.         searchBar.setText("");
  75.         Log.d("LOG_TAG", getClass().getSimpleName() + ": text " + searchBar.getText());
  76.         searchBar.setCardViewElevation(10);
  77.         searchBar.addTextChangeListener(new TextWatcher() {
  78.             @Override
  79.             public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
  80.             }
  81.  
  82.             @Override
  83.             public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
  84.                 Log.d("LOG_TAG", getClass().getSimpleName() + " text changed " + searchBar.getText());
  85.             }
  86.  
  87.             @Override
  88.             public void afterTextChanged(Editable editable) {
  89.  
  90.             }
  91.  
  92.         });
  93.     }
  94.  
  95.     @Override
  96.     public void onBackPressed() {
  97.         DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
  98.         if (drawer.isDrawerOpen(GravityCompat.START)) {
  99.             drawer.closeDrawer(GravityCompat.START);
  100.         } else {
  101.             super.onBackPressed();
  102.         }
  103.     }
  104.  
  105.     @Override
  106.     public boolean onCreateOptionsMenu(Menu menu) {
  107.         // Inflate the menu; this adds items to the action bar if it is present.
  108.         getMenuInflater().inflate(R.menu.menu_utama, menu);
  109.         return true;
  110.     }
  111.  
  112.     @Override
  113.     public boolean onOptionsItemSelected(MenuItem item) {
  114.         // Handle action bar item clicks here. The action bar will
  115.         // automatically handle clicks on the Home/Up button, so long
  116.         // as you specify a parent activity in AndroidManifest.xml.
  117.         int id = item.getItemId();
  118.  
  119.         //noinspection SimplifiableIfStatement
  120.         if (id == R.id.action_setting) {
  121.             startActivity(new Intent(MainActivity.this, SettingsActivity.class));
  122.             return true;
  123.         }
  124.  
  125.         return super.onOptionsItemSelected(item);
  126.     }
  127.  
  128.     @Override
  129.     public void onSearchStateChanged(boolean enabled) {
  130.     }
  131.  
  132.     @Override
  133.     public void onSearchConfirmed(CharSequence text) {
  134.         query=String.valueOf(text);
  135.         Intent intent = new Intent(getApplicationContext(), SearchActivity.class);
  136.         intent.putExtra(SearchActivity.MOVIE_TITLE, query);
  137.         startActivity(intent);
  138.  
  139.  
  140.     }
  141.  
  142.     @Override
  143.     public void onButtonClicked(int buttonCode) {
  144.         switch (buttonCode){
  145.             case MaterialSearchBar.BUTTON_NAVIGATION:
  146.                 drawer.openDrawer(Gravity.LEFT);
  147.                 break;
  148.             case MaterialSearchBar.BUTTON_SPEECH:
  149.                 break;
  150.             case MaterialSearchBar.BUTTON_BACK:
  151.                 searchBar.disableSearch();
  152.                 break;
  153.         }
  154.     }
  155.     @SuppressWarnings("StatementWithEmptyBody")
  156.     @Override
  157.     public boolean onNavigationItemSelected(MenuItem item) {
  158.         // Handle navigation view item clicks here.
  159.         int id = item.getItemId();
  160.  
  161.         if (id == R.id.nav_camera) {
  162.             selectTab(0);
  163.         } else if (id == R.id.nav_gallery) {
  164.             selectTab(1);
  165.         } else if (id == R.id.nav_slideshow) {
  166.             selectTab(2);
  167.         }else if (id == R.id.nav_setting){
  168.             startActivity(new Intent(MainActivity.this, SettingsActivity.class));
  169.         }
  170.         DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
  171.         drawer.closeDrawer(GravityCompat.START);
  172.         return true;
  173.     }
  174.  
  175.     @Override
  176.     public void onTabSelected(TabLayout.Tab tab) {
  177.         selectNav(tab.getPosition());
  178.     }
  179.  
  180.     @Override
  181.     public void onTabUnselected(TabLayout.Tab tab) {
  182.  
  183.     }
  184.  
  185.     @Override
  186.     public void onTabReselected(TabLayout.Tab tab) {
  187.  
  188.     }
  189.     private void setupDrawer() {
  190.         ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
  191.                 this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
  192.         drawer.setDrawerListener(toggle);
  193.         toggle.syncState();
  194.         navigationView.setNavigationItemSelectedListener(this);
  195.     }
  196.  
  197.     private void setupTab() {
  198.         viewPager.setAdapter(new TabAdapterPager(getSupportFragmentManager()));
  199.         tabLayout.setupWithViewPager(viewPager);
  200.  
  201.         //String hello = String.format(getResources().getString(R.string.now_playing));
  202.         tabLayout.getTabAt(0).setText(getResources().getString(R.string.now_playing));
  203.         tabLayout.getTabAt(1).setText(getResources().getString(R.string.upcoming));
  204.         tabLayout.getTabAt(2).setText("Favorit");
  205.         tabLayout.setOnTabSelectedListener(this);
  206.     }
  207.  
  208.     private void selectNav(int navNumber) {
  209.         navigationView.getMenu().getItem(navNumber).setChecked(true);
  210.     }
  211.  
  212.     private void selectTab(int tabNumber) {
  213.         tabLayout.getTabAt(tabNumber).select();
  214.     }
  215.     private void setActionBarTitle(String title){
  216.         getSupportActionBar().setTitle(title);
  217.     }
  218. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement