tlmarker1968

Untitled

Dec 27th, 2019
525
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.94 KB | None | 0 0
  1. package com.phoenixhospman.administrator;
  2.  
  3. import android.os.Bundle;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.TextView;
  8. import androidx.annotation.NonNull;
  9. import androidx.fragment.app.Fragment;
  10. import androidx.recyclerview.widget.LinearLayoutManager;
  11. import androidx.recyclerview.widget.RecyclerView;
  12. import java.util.ArrayList;
  13. import java.util.List;
  14. import retrofit2.Call;
  15. import retrofit2.Callback;
  16. import retrofit2.Response;
  17. import static java.util.Objects.requireNonNull;
  18.  
  19. public class FragmentUserList extends Fragment {
  20.     private ManagerAdminApi managerAdminApi;
  21.     private RecyclerView.Adapter uAdapter;
  22.     final private LinearLayoutManager uLayoutManager = new LinearLayoutManager(this.getActivity());
  23.  
  24.     private ArrayList<ObjectUser> userList = new ArrayList<>();
  25.  
  26.     /**
  27.      * The fragment onCreateView Method
  28.      *
  29.      * @param inflater the layout inflater
  30.      * @param container the container that will hold the fragment
  31.      * @param savedInstanceState the saved instance state
  32.      * @return View object container the fragment view
  33.      */
  34.     @Override
  35.     public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  36.         View view = inflater.inflate(R.layout.fragment_user_list, container, false);
  37.         assert getArguments() != null;
  38.         String coName = getArguments().getString("CoName");
  39.         String apiUrl = getArguments().getString("ApiUrl");
  40.         managerAdminApi = new ManagerAdminApi(apiUrl);
  41.         RecyclerView uRecyclerView = view.findViewById(R.id.recyclerViewUserList);
  42.         uRecyclerView.setHasFixedSize(true);
  43.         uAdapter = new UserAdapter(userList);
  44.         uRecyclerView.setLayoutManager(uLayoutManager);
  45.         uRecyclerView.setAdapter(uAdapter);
  46.         TextView tvTitle = view.findViewById(R.id.tvTitle);
  47.  
  48.         tvTitle.setText(getString(R.string.user_list_title, coName));
  49.         readUsers();
  50.         return view;
  51.     }
  52.  
  53.     /**
  54.      * Method to read the user list from the database
  55.      */
  56.  
  57.     private void readUsers() {
  58.         userList.clear();
  59.         managerAdminApi.GetUsers(new Callback<ArrayList<ObjectUser>>() {
  60.             @Override
  61.             public void onResponse(@NonNull Call<ArrayList<ObjectUser>> call, @NonNull Response<ArrayList<ObjectUser>> response) {
  62.                 ArrayList<ObjectUser> JsonList = response.body();
  63.                 for (int i = 0; i < requireNonNull(JsonList).size(); i++) {
  64.                     userList.add(new ObjectUser(
  65.                             JsonList.get(i).getId(),
  66.                             JsonList.get(i).getUsername(),
  67.                             JsonList.get(i).getPassword(),
  68.                             JsonList.get(i).getCreated(),
  69.                             JsonList.get(i).getModified(),
  70.                             JsonList.get(i).getGrade(),
  71.                             JsonList.get(i).getDepartment()
  72.                     ));
  73.                 }
  74.                 uAdapter.notifyDataSetChanged();
  75.             }
  76.  
  77.             @Override
  78.             public void onFailure(@NonNull Call<ArrayList<ObjectUser>> call, @NonNull Throwable t) {
  79.  
  80.             }
  81.         });
  82.     }
  83.     public class UserAdapter extends RecyclerView.Adapter<UserAdapter.UserViewHolder> {
  84.         final private List<ObjectUser> mUserList;
  85.         class UserViewHolder extends RecyclerView.ViewHolder {
  86.             final TextView tvUsername;
  87.             final TextView tvCreated;
  88.             final TextView tvGrade;
  89.             final TextView tvDepartment;
  90.             UserViewHolder(View userView) {
  91.                 super(userView);
  92.                 tvUsername = userView.findViewById(R.id.tvUsername);
  93.                 tvCreated = userView.findViewById(R.id.tvCreated);
  94.                 tvGrade = userView.findViewById(R.id.tvGrade);
  95.                 tvDepartment = userView.findViewById(R.id.tvDepartment);
  96.             }
  97.         }
  98.         UserAdapter(ArrayList<ObjectUser> userlist) {
  99.             mUserList = userlist;
  100.         }
  101.         @NonNull
  102.         @Override
  103.         public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
  104.             View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_user_list_item, parent,false);
  105.             return new UserViewHolder(v);
  106.         }
  107.         @Override
  108.         public void onBindViewHolder(@NonNull final UserViewHolder holder, int position) {
  109.             final ObjectUser currentUser = mUserList.get(position);
  110.             holder.tvUsername.setText(currentUser.getUsername());
  111.             holder.tvCreated.setText(currentUser.getCreated());
  112.             holder.tvGrade.setText(currentUser.getGrade());
  113.             holder.tvDepartment.setText(currentUser.getDepartment());
  114.         }
  115.         @Override
  116.         public int getItemCount() {
  117.             //return mUserList.size();
  118.             return 0;
  119.         }
  120.     }
  121. }
Advertisement
Add Comment
Please, Sign In to add comment