Guest User

Untitled

a guest
Sep 22nd, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1. View view = inflater.inflate(R.layout.fragment_home, container, false);
  2.  
  3. listaReceitas = (ListView) view.findViewById(R.id.listaReceitas);
  4.  
  5. //Configurando altura e largura para cada imagem
  6. DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
  7. int widht = displayMetrics.widthPixels - 16;
  8. int height = displayMetrics.heightPixels/3;
  9.  
  10. //exibição do listView
  11. receitasArrayList = new ArrayList<>();
  12. adaptador = new AdaptadorExibicaoReceitas(getContext(), receitasArrayList, widht, height);
  13. listaReceitas.setAdapter(adaptador);
  14.  
  15. //referebciando o local das receitas no FirebaseDatabase
  16. databaseReference = FirebaseDatabase.getInstance().getReference()
  17. .child("Receitas");
  18.  
  19. databaseReference.addValueEventListener(new ValueEventListener() {
  20. @Override
  21. public void onDataChange(DataSnapshot dataSnapshot) {
  22.  
  23. //limpando ArrayList para a mesma receita nao aparecer mais de uma vez
  24. receitasArrayList.clear();
  25.  
  26. for(DataSnapshot dados : dataSnapshot.getChildren()){
  27. //adicionando as informaçoes obtidas do Firebase no ArrayList para ser configurado e assim podendo ser exibido no ListView
  28. Receitas receitas = dados.getValue(Receitas.class);
  29. receitasArrayList.add(receitas);
  30. }
  31.  
  32. //notificando o adaptador que houve mudanças no ArrayList
  33. adaptador.notifyDataSetChanged();
  34. }
  35.  
  36. @Override
  37. public void onCancelled(DatabaseError databaseError) {
  38.  
  39. }
  40. });
  41.  
  42. //Pegando os dados para serem inseridos no listView
  43. public AdaptadorExibicaoReceitas(@NonNull Context c, @NonNull ArrayList<Receitas> objects, @NonNull int largura, @NonNull int altura) {
  44. super(c, 0, objects);
  45. this.context = c;
  46. this.receitasAdap = objects;
  47. this.widht = largura;
  48. this.height = altura;
  49. }
  50.  
  51. @NonNull
  52. @Override
  53. public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
  54.  
  55. View view = convertView;
  56.  
  57. if(view == null){
  58. LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
  59.  
  60. view = inflater.inflate(R.layout.lista_receitas, parent, false);
  61.  
  62. if(receitasAdap.size() > 0){
  63. Receitas receita = receitasAdap.get(position);
  64.  
  65. final ImageView imagemReceita = (ImageView) view.findViewById(R.id.imagemReceitaId);
  66. TextView tituloReceita = (TextView) view.findViewById(R.id.tituloReceitaId);
  67.  
  68. FirebaseStorage firebaseStorage = FirebaseStorage.getInstance();
  69. StorageReference storageReference = firebaseStorage.getReferenceFromUrl("gs://receitas-pantaneiras.appspot.com/").child(receita.getUrl());
  70.  
  71.  
  72. storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
  73. @Override
  74. public void onSuccess(Uri uri) {
  75. Picasso.with(getContext()).load(uri.toString()).resize(widht, height).centerCrop().into(imagemReceita);
  76. }
  77. });
  78. tituloReceita.setText(receita.getNome());
  79. tituloReceita.setVisibility(View.VISIBLE);
  80. }
  81. }
  82.  
  83. return view;
  84. }
Add Comment
Please, Sign In to add comment