Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.iqbal.myapp.profile;
- import android.app.ProgressDialog;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.annotation.Nullable;
- import android.support.design.widget.FloatingActionButton;
- import android.support.v4.app.Fragment;
- import android.support.v7.widget.DefaultItemAnimator;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Toast;
- import com.google.firebase.database.DataSnapshot;
- import com.google.firebase.database.DatabaseError;
- import com.google.firebase.database.DatabaseReference;
- import com.google.firebase.database.FirebaseDatabase;
- import com.google.firebase.database.ValueEventListener;
- import com.iqbal.myapp.R;
- import java.util.ArrayList;
- import java.util.List;
- public class ProfileFragment extends Fragment implements ProfileAdapter.OnItemClickListener, ProfileAdapter.OnItemLongClickListener {
- private DatabaseReference mRef;
- private List<Profile> rv_list;
- private RecyclerView recyclerView;
- ProgressDialog progressDialog;
- private FloatingActionButton btnAdd;
- public ProfileFragment(){
- // empty construktor
- }
- @Nullable
- @Override
- public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_profile, container, false);
- btnAdd = view.findViewById(R.id.btn_add);
- btnAdd.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Toast.makeText(getContext(), "Tambah Profile", Toast.LENGTH_SHORT).show();
- }
- });
- recyclerView = view.findViewById(R.id.profile_rv);
- recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
- /*rv_list = new ArrayList<>();
- rv_list.add(new Profile("name", "email"));
- rv_list.add(new Profile("name 2", "email 2"));
- AccessCardAdapter mAdapter = new PrifileAdapter(rv_list);
- recyclerView.setAdapter(mAdapter);
- recyclerView.setItemAnimator(new DefaultItemAnimator());*/
- progressDialog = new ProgressDialog(getActivity());
- progressDialog.setMessage("Loading data");
- progressDialog.show();
- mRef = FirebaseDatabase.getInstance().getReference();
- mRef.child("profiles").addValueEventListener(new ValueEventListener() {
- @Override
- public void onDataChange(DataSnapshot snapshot) {
- rv_list = new ArrayList<>();
- if (snapshot.exists()) {
- progressDialog.dismiss();
- for (DataSnapshot dataSnapshot : snapshot.getChildren()) {
- Profile item = dataSnapshot.getValue(Profile.class);
- item.setKey(dataSnapshot.getKey());
- rv_list.add(item);
- }
- setupList(rv_list);
- } else {
- progressDialog.dismiss();
- }
- }
- @Override
- public void onCancelled(DatabaseError databaseError) {
- progressDialog.dismiss();
- }
- });
- return view;
- }
- private void setupList(List<Profile> list){
- ProfileAdapter mAdapter = new ProfileAdapter(list, this, this);
- recyclerView.setAdapter(mAdapter);
- recyclerView.setItemAnimator(new DefaultItemAnimator());
- }
- @Override
- public void onClick(Profile item) {
- Intent intent = new Intent(getActivity(), ProfileDetailActivity.class);
- intent.putExtra("KEY", item.getKey());
- startActivity(intent);
- }
- @Override
- public void onLongClick(Profile item) {
- Toast.makeText(getActivity(), "Long Click : "+ item.name, Toast.LENGTH_SHORT).show();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement