Advertisement
Guest User

act

a guest
Jan 25th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.08 KB | None | 0 0
  1. package com.iqbal.myapp.profile;
  2.  
  3.  
  4. import android.app.ProgressDialog;
  5. import android.content.Intent;
  6. import android.os.Bundle;
  7. import android.support.annotation.NonNull;
  8. import android.support.annotation.Nullable;
  9. import android.support.design.widget.FloatingActionButton;
  10. import android.support.v4.app.Fragment;
  11. import android.support.v7.widget.DefaultItemAnimator;
  12. import android.support.v7.widget.LinearLayoutManager;
  13. import android.support.v7.widget.RecyclerView;
  14. import android.view.LayoutInflater;
  15. import android.view.View;
  16. import android.view.ViewGroup;
  17. import android.widget.Toast;
  18.  
  19. import com.google.firebase.database.DataSnapshot;
  20. import com.google.firebase.database.DatabaseError;
  21. import com.google.firebase.database.DatabaseReference;
  22. import com.google.firebase.database.FirebaseDatabase;
  23. import com.google.firebase.database.ValueEventListener;
  24. import com.iqbal.myapp.R;
  25.  
  26. import java.util.ArrayList;
  27. import java.util.List;
  28.  
  29. public class ProfileFragment extends Fragment implements ProfileAdapter.OnItemClickListener, ProfileAdapter.OnItemLongClickListener {
  30.  
  31.     private DatabaseReference mRef;
  32.     private List<Profile> rv_list;
  33.     private RecyclerView recyclerView;
  34.     ProgressDialog progressDialog;
  35.  
  36.     private FloatingActionButton btnAdd;
  37.  
  38.     public ProfileFragment(){
  39.         // empty construktor
  40.     }
  41.  
  42.     @Nullable
  43.     @Override
  44.     public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
  45.         View view = inflater.inflate(R.layout.fragment_profile, container, false);
  46.  
  47.         btnAdd = view.findViewById(R.id.btn_add);
  48.  
  49.         btnAdd.setOnClickListener(new View.OnClickListener() {
  50.             @Override
  51.             public void onClick(View v) {
  52.                 Toast.makeText(getContext(), "Tambah Profile", Toast.LENGTH_SHORT).show();
  53.             }
  54.         });
  55.  
  56.         recyclerView = view.findViewById(R.id.profile_rv);
  57.         recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
  58.  
  59.         /*rv_list = new ArrayList<>();
  60.         rv_list.add(new Profile("name", "email"));
  61.         rv_list.add(new Profile("name 2", "email 2"));
  62.  
  63.         AccessCardAdapter mAdapter = new PrifileAdapter(rv_list);
  64.         recyclerView.setAdapter(mAdapter);
  65.         recyclerView.setItemAnimator(new DefaultItemAnimator());*/
  66.  
  67.         progressDialog = new ProgressDialog(getActivity());
  68.         progressDialog.setMessage("Loading data");
  69.         progressDialog.show();
  70.  
  71.         mRef = FirebaseDatabase.getInstance().getReference();
  72.  
  73.         mRef.child("profiles").addValueEventListener(new ValueEventListener() {
  74.             @Override
  75.             public void onDataChange(DataSnapshot snapshot) {
  76.                 rv_list = new ArrayList<>();
  77.                 if (snapshot.exists()) {
  78.                     progressDialog.dismiss();
  79.  
  80.                     for (DataSnapshot dataSnapshot : snapshot.getChildren()) {
  81.                         Profile item = dataSnapshot.getValue(Profile.class);
  82.                         item.setKey(dataSnapshot.getKey());
  83.                         rv_list.add(item);
  84.                     }
  85.  
  86.                     setupList(rv_list);
  87.  
  88.                 } else {
  89.                     progressDialog.dismiss();
  90.                 }
  91.             }
  92.  
  93.             @Override
  94.             public void onCancelled(DatabaseError databaseError) {
  95.                 progressDialog.dismiss();
  96.             }
  97.         });
  98.  
  99.         return view;
  100.     }
  101.  
  102.     private void setupList(List<Profile> list){
  103.         ProfileAdapter mAdapter = new ProfileAdapter(list, this, this);
  104.         recyclerView.setAdapter(mAdapter);
  105.         recyclerView.setItemAnimator(new DefaultItemAnimator());
  106.     }
  107.  
  108.     @Override
  109.     public void onClick(Profile item) {
  110.         Intent intent = new Intent(getActivity(), ProfileDetailActivity.class);
  111.         intent.putExtra("KEY", item.getKey());
  112.         startActivity(intent);
  113. }
  114.  
  115.     @Override
  116.     public void onLongClick(Profile item) {
  117.         Toast.makeText(getActivity(), "Long Click : "+ item.name, Toast.LENGTH_SHORT).show();
  118.     }
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement