Advertisement
Guest User

Untitled

a guest
May 26th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.87 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(homeActivity.this, ""+clickItem.getName(), Toast.LENGTH_SHORT).show();
  120. return null;
  121. }
  122. });
  123. }
  124.  
  125. };
  126.  
  127. mRecyclerMenu.setAdapter(adapter);
  128. }
  129.  
  130.  
  131.  
  132. @Override
  133. public void onStart() {
  134. super.onStart();
  135. adapter.startListening();
  136. }
  137.  
  138. @Override
  139. public void onStop() {
  140. super.onStop();
  141. adapter.stopListening();
  142. }
  143.  
  144.  
  145. @Override
  146. public void onBackPressed() {
  147. DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
  148. if (drawer.isDrawerOpen(GravityCompat.START)) {
  149. drawer.closeDrawer(GravityCompat.START);
  150. } else {
  151. super.onBackPressed();
  152. }
  153. }
  154.  
  155. @Override
  156. public boolean onCreateOptionsMenu(Menu menu) {
  157. // Inflate the menu; this adds items to the action bar if it is present.
  158. getMenuInflater().inflate(R.menu.home, menu);
  159. return true;
  160. }
  161.  
  162. @Override
  163. public boolean onOptionsItemSelected(MenuItem item) {
  164. // Handle action bar item clicks here. The action bar will
  165. // automatically handle clicks on the Home/Up button, so long
  166. // as you specify a parent activity in AndroidManifest.xml.
  167. int id = item.getItemId();
  168.  
  169. //noinspection SimplifiableIfStatement
  170. if (id == R.id.action_settings) {
  171. return true;
  172. }
  173.  
  174. return super.onOptionsItemSelected(item);
  175. }
  176.  
  177. @SuppressWarnings("StatementWithEmptyBody")
  178. @Override
  179. public boolean onNavigationItemSelected(MenuItem item) {
  180. // Handle navigation view item clicks here.
  181. int id = item.getItemId();
  182.  
  183. if (id == R.id.nav_camera) {
  184. // Handle the camera action
  185. } else if (id == R.id.nav_gallery) {
  186.  
  187. } else if (id == R.id.nav_slideshow) {
  188.  
  189. } else if (id == R.id.nav_manage) {
  190.  
  191. } else if (id == R.id.nav_share) {
  192.  
  193. } else if (id == R.id.nav_send) {
  194.  
  195. }
  196.  
  197. DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
  198. drawer.closeDrawer(GravityCompat.START);
  199. return true;
  200. }
  201. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement