hendroprwk08

FirstFragment.java

Sep 26th, 2020
764
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public class FirstFragment extends Fragment {
  2.  
  3.     View fragment_view;
  4.     ArrayList<Customer> customers;;
  5.     ProgressBar pb;
  6.     SwipeRefreshLayout srl;
  7.  
  8.     @Override
  9.     public View onCreateView(
  10.             LayoutInflater inflater, ViewGroup container,
  11.             Bundle savedInstanceState
  12.     ) {
  13.         // Inflate the layout for this fragment
  14.         View rootView =  inflater.inflate(R.layout.fragment_first, container, false);
  15.         fragment_view = rootView;
  16.  
  17.         pb = (ProgressBar) rootView.findViewById(R.id.progress_horizontal);
  18.  
  19.         srl = (SwipeRefreshLayout) rootView.findViewById(R.id.swipeRefreshLayout);
  20.  
  21.         srl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
  22.             @Override
  23.             public void onRefresh() {
  24.                
  25.                 load();
  26.  
  27.                 new Handler().postDelayed(new Runnable() {
  28.                     @Override public void run() {
  29.                         // Stop animation (This will be after 1 seconds)
  30.                         srl.setRefreshing(false);
  31.                     }
  32.                 }, 1000); // Delay in millis
  33.             }
  34.         });
  35.  
  36.         // Configure the refreshing colors
  37.         srl.setColorSchemeResources(android.R.color.holo_blue_bright,
  38.                 android.R.color.holo_green_light,
  39.                 android.R.color.holo_orange_light,
  40.                 android.R.color.holo_red_light);
  41.  
  42.         load();
  43.  
  44.         return rootView;
  45.     }
  46.  
  47.     public void load(){
  48.         pb.setVisibility(ProgressBar.VISIBLE);
  49.  
  50.         RequestQueue queue = Volley.newRequestQueue(getContext());
  51.         String url = "[URL API KAMU]";
  52.  
  53.         JsonObjectRequest jsObjRequest = new JsonObjectRequest(
  54.                 Request.Method.GET,
  55.                 url,
  56.                 null,
  57.                 new Response.Listener<JSONObject>() {
  58.  
  59.                     @Override
  60.                     public void onResponse(JSONObject response) {
  61.                         String id, nama, telp;
  62.                         customers = new ArrayList<>();
  63.  
  64.                         try {
  65.                             JSONArray jsonArray = response.getJSONArray("result");
  66.                             customers.clear();
  67.                            
  68.                             if (jsonArray.length() != 0) {
  69.                                 for (int i = 0; i < jsonArray.length(); i++) {
  70.                                     JSONObject data = jsonArray.getJSONObject(i);
  71.  
  72.                                     id = data.getString("idcustomer").toString().trim();
  73.                                     nama = data.getString("namacustomer").toString().trim();
  74.                                     telp = data.getString("telpcustomer").toString().trim();
  75.  
  76.                                     customers.add(new Customer(id, nama, telp ));
  77.                                 }
  78.  
  79.                                 showRecyclerGrid();
  80.                             }
  81.                         } catch (JSONException e) {
  82.                             e.printStackTrace();
  83.                         }
  84.  
  85.                         pb.setVisibility(ProgressBar.GONE);
  86.                     }
  87.                 }, new Response.ErrorListener() {
  88.  
  89.             @Override
  90.             public void onErrorResponse(VolleyError error) {
  91.                 // TODO Auto-generated method stub
  92.                 Log.d("Events: ", error.toString());
  93.  
  94.                 pb.setVisibility(ProgressBar.GONE);
  95.                 Toast.makeText(getContext(), "Please check your connection", Toast.LENGTH_SHORT).show();
  96.             }
  97.         });
  98.  
  99.         queue.add(jsObjRequest);
  100.     }
  101.  
  102.     private void showRecyclerGrid(){
  103.         RecyclerView recyclerView = (RecyclerView) fragment_view.findViewById(R.id.rv);
  104.  
  105.         recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
  106.  
  107.         CustomerAdapter mAdapter = new CustomerAdapter(getContext(), customers);
  108.         recyclerView.setAdapter(mAdapter);
  109.         recyclerView.setItemAnimator(new DefaultItemAnimator());
  110.     }
  111. }
RAW Paste Data