Advertisement
Guest User

Untitled

a guest
May 25th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.86 KB | None | 0 0
  1. package hu.maguro.maguro;
  2.  
  3. import android.os.Bundle;
  4. import android.support.annotation.NonNull;
  5. import android.support.design.widget.FloatingActionButton;
  6. import android.support.design.widget.Snackbar;
  7. import android.support.v7.widget.LinearLayoutManager;
  8. import android.support.v7.widget.RecyclerView;
  9. import android.view.LayoutInflater;
  10. import android.view.View;
  11. import android.support.design.widget.NavigationView;
  12. import android.support.v4.view.GravityCompat;
  13. import android.support.v4.widget.DrawerLayout;
  14. import android.support.v7.app.ActionBarDrawerToggle;
  15. import android.support.v7.app.AppCompatActivity;
  16. import android.support.v7.widget.Toolbar;
  17. import android.view.Menu;
  18. import android.view.MenuItem;
  19. import android.view.ViewGroup;
  20. import android.widget.TextView;
  21. import android.widget.Toast;
  22.  
  23. import com.firebase.ui.database.FirebaseRecyclerAdapter;
  24. import com.firebase.ui.database.FirebaseRecyclerOptions;
  25. import com.google.firebase.database.DatabaseReference;
  26. import com.google.firebase.database.FirebaseDatabase;
  27. import com.google.firebase.database.Query;
  28. import com.squareup.picasso.Picasso;
  29.  
  30. import hu.maguro.maguro.Common.Common;
  31. import hu.maguro.maguro.Interface.ItemClickListener;
  32. import hu.maguro.maguro.Model.Category;
  33. import hu.maguro.maguro.ViewHolder.MenuViewHolder;
  34.  
  35. public class Home extends AppCompatActivity
  36. implements NavigationView.OnNavigationItemSelectedListener {
  37.  
  38. FirebaseRecyclerAdapter adapter;
  39. FirebaseDatabase database;
  40. DatabaseReference category;
  41.  
  42. TextView txtFullName;
  43.  
  44. RecyclerView recyler_menu;
  45. RecyclerView.LayoutManager layoutManager;
  46. @Override
  47. protected void onCreate(Bundle savedInstanceState) {
  48. super.onCreate(savedInstanceState);
  49. setContentView(R.layout.activity_home);
  50. Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  51. toolbar.setTitle("Étlap");
  52. setSupportActionBar(toolbar);
  53.  
  54. database = FirebaseDatabase.getInstance();
  55. category = database.getReference("Category");
  56.  
  57.  
  58.  
  59.  
  60. FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
  61. fab.setOnClickListener(new View.OnClickListener() {
  62. @Override
  63. public void onClick(View view) {
  64. Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
  65. .setAction("Action", null).show();
  66. }
  67. });
  68.  
  69. DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
  70. ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
  71. this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
  72. drawer.addDrawerListener(toggle);
  73. toggle.syncState();
  74.  
  75. NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
  76. navigationView.setNavigationItemSelectedListener(this);
  77.  
  78. View headerView = navigationView.getHeaderView(0);
  79. txtFullName = (TextView)findViewById(R.id.txtFullName);
  80. txtFullName.setText(Common.currentUser.getName());
  81.  
  82. recyler_menu = (RecyclerView)findViewById(R.id.recycler_menu);
  83. recyler_menu.setHasFixedSize(true);
  84. layoutManager = new LinearLayoutManager(this);
  85. recyler_menu.setLayoutManager(layoutManager);
  86.  
  87. loadMenu();
  88. }
  89.  
  90. private void loadMenu(){
  91.  
  92. Query query = FirebaseDatabase
  93. .getInstance()
  94. .getReference()
  95. .child("category");
  96.  
  97. FirebaseRecyclerOptions<Category> options =
  98. new FirebaseRecyclerOptions.Builder<Category>()
  99. .setQuery(query, Category.class)
  100. .build();
  101. adapter = new FirebaseRecyclerAdapter<Category, MenuViewHolder>(options) {
  102. @Override
  103. public MenuViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  104. View view = LayoutInflater.from(parent.getContext())
  105. .inflate(R.layout.menu_item, parent, false);
  106.  
  107. return new MenuViewHolder(view);
  108. }
  109.  
  110. @Override
  111. protected void onBindViewHolder(@NonNull MenuViewHolder holder, int position, @NonNull Category model) {
  112. holder.txtMenuName.setText(model.getName());
  113. Picasso.with(getBaseContext()).load(model.getImage())
  114. .into(holder.imageView);
  115. final Category clickItem = model;
  116. holder.setItemClickListener(new ItemClickListener() {
  117. @Override
  118. public void onClick(View view, int position, boolean isLongClick) {
  119. Toast.makeText(Home.this, ""+clickItem.getName(), Toast.LENGTH_SHORT).show();
  120. return null;
  121. }
  122. });
  123. }
  124.  
  125. };
  126.  
  127. mRecyclerMenu.setAdapter(adapter);
  128. }
  129.  
  130. @Override
  131. public void onStart() {
  132. super.onStart();
  133. adapter.startListening();
  134. }
  135.  
  136. @Override
  137. public void onStop() {
  138. super.onStop();
  139. adapter.stopListening();
  140. }
  141.  
  142.  
  143. @Override
  144. public void onBackPressed() {
  145. DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
  146. if (drawer.isDrawerOpen(GravityCompat.START)) {
  147. drawer.closeDrawer(GravityCompat.START);
  148. } else {
  149. super.onBackPressed();
  150. }
  151. }
  152.  
  153. @Override
  154. public boolean onCreateOptionsMenu(Menu menu) {
  155. // Inflate the menu; this adds items to the action bar if it is present.
  156. getMenuInflater().inflate(R.menu.home, menu);
  157. return true;
  158. }
  159.  
  160. @Override
  161. public boolean onOptionsItemSelected(MenuItem item) {
  162. // Handle action bar item clicks here. The action bar will
  163. // automatically handle clicks on the Home/Up button, so long
  164. // as you specify a parent activity in AndroidManifest.xml.
  165. int id = item.getItemId();
  166.  
  167. //noinspection SimplifiableIfStatement
  168. if (id == R.id.action_settings) {
  169. return true;
  170. }
  171.  
  172. return super.onOptionsItemSelected(item);
  173. }
  174.  
  175. @SuppressWarnings("StatementWithEmptyBody")
  176. @Override
  177. public boolean onNavigationItemSelected(MenuItem item) {
  178. // Handle navigation view item clicks here.
  179. int id = item.getItemId();
  180.  
  181. if (id == R.id.nav_camera) {
  182. // Handle the camera action
  183. } else if (id == R.id.nav_gallery) {
  184.  
  185. } else if (id == R.id.nav_slideshow) {
  186.  
  187. } else if (id == R.id.nav_manage) {
  188.  
  189. } else if (id == R.id.nav_share) {
  190.  
  191. } else if (id == R.id.nav_send) {
  192.  
  193. }
  194.  
  195. DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
  196. drawer.closeDrawer(GravityCompat.START);
  197. return true;
  198. }
  199. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement