Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hu.maguro.maguro;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.design.widget.FloatingActionButton;
- import android.support.design.widget.Snackbar;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.support.design.widget.NavigationView;
- import android.support.v4.view.GravityCompat;
- import android.support.v4.widget.DrawerLayout;
- import android.support.v7.app.ActionBarDrawerToggle;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.Toolbar;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.ViewGroup;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.firebase.ui.database.FirebaseRecyclerAdapter;
- import com.firebase.ui.database.FirebaseRecyclerOptions;
- import com.google.firebase.database.DatabaseReference;
- import com.google.firebase.database.FirebaseDatabase;
- import com.google.firebase.database.Query;
- import com.squareup.picasso.Picasso;
- import hu.maguro.maguro.Common.Common;
- import hu.maguro.maguro.Interface.ItemClickListener;
- import hu.maguro.maguro.Model.Category;
- import hu.maguro.maguro.ViewHolder.MenuViewHolder;
- public class Home extends AppCompatActivity
- implements NavigationView.OnNavigationItemSelectedListener {
- FirebaseRecyclerAdapter adapter;
- FirebaseDatabase database;
- DatabaseReference category;
- TextView txtFullName;
- RecyclerView recyler_menu;
- RecyclerView.LayoutManager layoutManager;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_home);
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- toolbar.setTitle("Étlap");
- setSupportActionBar(toolbar);
- database = FirebaseDatabase.getInstance();
- category = database.getReference("Category");
- FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
- fab.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
- .setAction("Action", null).show();
- }
- });
- DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
- this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
- drawer.addDrawerListener(toggle);
- toggle.syncState();
- NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
- navigationView.setNavigationItemSelectedListener(this);
- View headerView = navigationView.getHeaderView(0);
- txtFullName = (TextView)findViewById(R.id.txtFullName);
- txtFullName.setText(Common.currentUser.getName());
- recyler_menu = (RecyclerView)findViewById(R.id.recycler_menu);
- recyler_menu.setHasFixedSize(true);
- layoutManager = new LinearLayoutManager(this);
- recyler_menu.setLayoutManager(layoutManager);
- loadMenu();
- }
- private void loadMenu(){
- Query query = FirebaseDatabase
- .getInstance()
- .getReference()
- .child("category");
- FirebaseRecyclerOptions<Category> options =
- new FirebaseRecyclerOptions.Builder<Category>()
- .setQuery(query, Category.class)
- .build();
- adapter = new FirebaseRecyclerAdapter<Category, MenuViewHolder>(options) {
- @Override
- public MenuViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.menu_item, parent, false);
- return new MenuViewHolder(view);
- }
- @Override
- protected void onBindViewHolder(@NonNull MenuViewHolder holder, int position, @NonNull Category model) {
- holder.txtMenuName.setText(model.getName());
- Picasso.with(getBaseContext()).load(model.getImage())
- .into(holder.imageView);
- final Category clickItem = model;
- holder.setItemClickListener(new ItemClickListener() {
- @Override
- public void onClick(View view, int position, boolean isLongClick) {
- Toast.makeText(homeActivity.this, ""+clickItem.getName(), Toast.LENGTH_SHORT).show();
- return null;
- }
- });
- }
- };
- mRecyclerMenu.setAdapter(adapter);
- }
- @Override
- public void onStart() {
- super.onStart();
- adapter.startListening();
- }
- @Override
- public void onStop() {
- super.onStop();
- adapter.stopListening();
- }
- @Override
- public void onBackPressed() {
- DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- if (drawer.isDrawerOpen(GravityCompat.START)) {
- drawer.closeDrawer(GravityCompat.START);
- } else {
- super.onBackPressed();
- }
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.home, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- int id = item.getItemId();
- //noinspection SimplifiableIfStatement
- if (id == R.id.action_settings) {
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
- @SuppressWarnings("StatementWithEmptyBody")
- @Override
- public boolean onNavigationItemSelected(MenuItem item) {
- // Handle navigation view item clicks here.
- int id = item.getItemId();
- if (id == R.id.nav_camera) {
- // Handle the camera action
- } else if (id == R.id.nav_gallery) {
- } else if (id == R.id.nav_slideshow) {
- } else if (id == R.id.nav_manage) {
- } else if (id == R.id.nav_share) {
- } else if (id == R.id.nav_send) {
- }
- DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- drawer.closeDrawer(GravityCompat.START);
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement