daily pastebin goal
66%
SHARE
TWEET

Untitled

a guest Aug 10th, 2018 61 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  * Created by Lucas on 01/10/2017.
  3.  */
  4.  
  5. public class ProdutosFragment extends Fragment  {
  6.  
  7. private FirebaseDatabase firebaseDatabase;
  8. private DatabaseReference databaseReference;
  9. Button Filtrar;
  10. List<String> areas = new ArrayList<String>();
  11. RecyclerView recyclerView;
  12. RecyclerAdapter adapter;
  13. int i=0;
  14. RecyclerView.LayoutManager layoutManager;
  15. ArrayList<Produtos>arrayList=new ArrayList<>();
  16. SearchView searchView;
  17. ProgressDialog progressDialogFiltrar;
  18. int conta=0;
  19. @Nullable
  20. @Override
  21.  
  22.  
  23.  
  24. public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
  25.     View view = inflater.inflate(R.layout.produtosfragment,container,false);
  26.  
  27.  
  28.     String NomeSupermercado = Singleton.getInstance(getApplicationContext()).getNomeSupermercado();
  29.     FirebaseProdutos firebaseProdutos= new FirebaseProdutos();
  30.     FirebaseAutenticarSupermercado FirebaseAutenticarSupermercado = new FirebaseAutenticarSupermercado();
  31.     FirebaseAutenticarSupermercado.Autenticar();
  32.     firebaseDatabase = FirebaseDatabase.getInstance();
  33.     databaseReference = firebaseDatabase.getReference().child("Estabelecimentos/Estabelecimentos/Supermercados/"+NomeSupermercado+"/produtos/");
  34.     Filtrar = (Button)view.findViewById(R.id.btfiltrar);
  35.     recyclerView=(RecyclerView)view.findViewById(R.id.recyclerview_id);
  36.     layoutManager=new LinearLayoutManager(getApplicationContext());
  37.     recyclerView.setLayoutManager(layoutManager);
  38.     recyclerView.setHasFixedSize(true);
  39.     searchView=(SearchView)view.findViewById(R.id.search);
  40.     searchView.setSelected(false);
  41.     searchView.clearFocus();
  42.     searchView.setQueryHint("Cerveja, Morango, Aymoré, Bebidas etc");
  43.     getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
  44.     closeKeyboard();
  45.  
  46.     searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
  47.         @Override
  48.         public boolean onQueryTextSubmit(String newText) {
  49.             // filter listview
  50.             return true;
  51.         }
  52.  
  53.         @Override
  54.         public boolean onQueryTextChange(String newText) {
  55.  
  56.  
  57.  
  58.       newText= newText.toLowerCase();
  59.                 ArrayList<Produtos> newList= new ArrayList<>();
  60.                 for(Produtos produtos: arrayList){
  61.                     String name=produtos.getProduto().toLowerCase();
  62.                     String marca=produtos.getMarca().toLowerCase();
  63. //                    String caracteristica=produtos.getCaracteristica().toLowerCase();
  64.                     String categoria=produtos.getCategoria().toLowerCase();
  65.                     if(name.contains(newText)||marca.contains(newText)||categoria.contains(newText)){
  66.                         newList.add(produtos);
  67.                     }
  68.                 }
  69.                 adapter.setFilter(newList);
  70.                 return true;
  71.             }
  72.         });
  73.  
  74.  
  75.     if(adapter==null||arrayList==null||arrayList.size()<1||recyclerView==null){
  76.         ProgressDialog prog= new ProgressDialog(getActivity());//Assuming that you are using fragments.
  77.         prog.setTitle("Aguarde");
  78.         prog.setMessage("Carregando os produtos");
  79.         prog.setCancelable(false);
  80.         prog.setIndeterminate(true);
  81.         prog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
  82.         prog.show();
  83.     databaseReference.orderByChild("produto").addListenerForSingleValueEvent(new ValueEventListener() {
  84.  
  85.         @Override
  86.         public void onDataChange(DataSnapshot dataSnapshot) {
  87.             arrayList.clear();
  88.             adapter=null;
  89.             recyclerView.setAdapter(null);
  90.             areas.add(" "+"Categoria");
  91.             for (DataSnapshot objSnapshot : dataSnapshot.getChildren()) {
  92.                 Produtos Listar= new Produtos();
  93.                 Listar = objSnapshot.getValue(Produtos.class);
  94.                 arrayList.add(Listar);
  95.                 areas.add(Listar.getCategoria());
  96.             }
  97.             adapter=new RecyclerAdapter(getActivity(),arrayList);
  98.             recyclerView.setAdapter(adapter);
  99.             prog.dismiss();
  100.         }
  101.  
  102.         @Override
  103.         public void onCancelled(DatabaseError databaseError) {
  104.  
  105.         }
  106.     });
  107.     }
  108.  
  109.  
  110.     Filtrar.setOnClickListener(new View.OnClickListener() {
  111.         @Override
  112.         public void onClick(View v) {
  113.  
  114.             AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
  115.             LayoutInflater inflater = getLayoutInflater();
  116.             searchView.setQuery("",false);
  117.             closeKeyboard();
  118.             //Cria a view a ser utilizada no dialog
  119.             ViewGroup view = (ViewGroup) inflater.inflate(R.layout.filtro, null);
  120.  
  121.             //Obtém uma referencia ao hinner
  122.             final Spinner SpinnerCategoria = (Spinner) view.findViewById(R.id.spinnercategoria);
  123.             //final Spinner SpinnerEspecificos = (Spinner) view.findViewById(R.id.spinnerprodutosespecificos);
  124.  
  125.             Button Limpar = (Button)view.findViewById(R.id.btlimparfiltro);
  126.             Button Filtro = (Button)view.findViewById(R.id.btfiltrarproduto);
  127.  
  128.             builder.setView(view);
  129.  
  130.             final AlertDialog builderx=builder.show();
  131.             Filtro.setOnClickListener(new View.OnClickListener() {
  132.                 @Override
  133.                 public void onClick(View v) {
  134.                     String Categoria = SpinnerCategoria.getSelectedItem().toString();
  135.                     Log.d("Categoria","Categoria Escolhida"+Categoria);
  136.                     if(Categoria.equals(" "+"Categoria")){
  137.                         builderx.dismiss();
  138.                     }
  139.                     else {
  140.                         ProgressDialog proga= new ProgressDialog(getActivity());//Assuming that you are using fragments.
  141.                         proga.setTitle("Aguarde");
  142.                         proga.setMessage("Estamos filtrando os produtos para você :)");
  143.                         proga.setCancelable(false);
  144.                         proga.setIndeterminate(true);
  145.                         proga.setProgressStyle(ProgressDialog.STYLE_SPINNER);
  146.                         proga.show();
  147.                         databaseReference.orderByChild("categoria").equalTo(Categoria).addListenerForSingleValueEvent(new ValueEventListener() {
  148.  
  149.                             @Override
  150.                             public void onDataChange(DataSnapshot dataSnapshot) {
  151.                                 arrayList.clear();
  152.                                 adapter=null;
  153.                                 recyclerView.setAdapter(null);
  154.  
  155.                                 for (DataSnapshot objSnapshot : dataSnapshot.getChildren()) {
  156.                                     Produtos Listar;
  157.                                     Listar = objSnapshot.getValue(Produtos.class);
  158.                                     arrayList.add(Listar);
  159.                                     i++;
  160.                                     Log.d("Quantidade de produtos", "Quantidade de produtos"+i);
  161.                                 }
  162.                                 adapter=new RecyclerAdapter(getActivity(),arrayList);
  163.                                 recyclerView.setAdapter(adapter);
  164.                                 proga.dismiss();
  165.                             }
  166.  
  167.                             @Override
  168.                             public void onCancelled(DatabaseError databaseError) {
  169.  
  170.                             }
  171.                         });
  172.  
  173.                         builderx.dismiss();
  174.                     }
  175.  
  176.  
  177.                 }
  178.             });
  179.             Limpar.setOnClickListener(new View.OnClickListener() {
  180.                 @Override
  181.                 public void onClick(View v) {
  182.                     Limpar();
  183.                 }
  184.             });
  185.             HashSet<String> hashSet = new HashSet<String>();
  186.             hashSet.addAll(areas);
  187.             areas.clear();
  188.             areas.addAll(hashSet);
  189.             //Alphabetic sorting.
  190.             Collections.sort(areas);
  191.             final ArrayAdapter<String> categoriaAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, areas);
  192.             categoriaAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  193.             SpinnerCategoria.setAdapter(categoriaAdapter);
  194.  
  195.                         }
  196.     });
  197.     return view;
  198. }
  199.  
  200.  
  201. @Override
  202. public void onResume() {
  203.     super.onResume();
  204.     Log.e("Ciclo", "Activity: Metodo onResume() chamado");
  205. }
  206.  
  207. @Override
  208. public void onPause() {
  209.     super.onPause();
  210.     Log.e("Ciclo", "Activity: Metodo onPause() chamado");
  211. }
  212.  
  213. @Override
  214. public void onSaveInstanceState(Bundle outState) {
  215.     super.onSaveInstanceState(outState);
  216.     Log.e("Ciclo", "Activity: Metodo onSavedInstanceState() chamado");
  217. }
  218.  
  219. @Override
  220. public void onStop() {
  221.     super.onStop();
  222.     Log.e("Ciclo", "Activity: Metodo onStop() chamado");
  223. }
  224.  
  225. @Override
  226. public void onDestroy() {
  227.     super.onDestroy();
  228.     Log.e("Ciclo", "Activity: Metodo onDestroy() chamado");
  229. }
  230.  
  231. private void closeKeyboard() {
  232.     View view = getActivity().getCurrentFocus();
  233.     if(view!= null){
  234.         InputMethodManager imm=(InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
  235.         imm.hideSoftInputFromWindow(view.getWindowToken(),0);
  236.     }
  237.  
  238. }
  239.  
  240. private void Limpar() {
  241.     Intent i = new Intent(getApplicationContext(), IndexActivity.class);
  242.  
  243.     startActivity(i);
  244. }
  245.  
  246.  
  247. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top