iQuace

CartFragment

Sep 13th, 2017
482
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.81 KB | None | 0 0
  1. package com.example.rr.eallowancemobileapp;
  2.  
  3.  
  4. import android.app.ProgressDialog;
  5. import android.os.Bundle;
  6. import android.support.v4.app.Fragment;
  7. import android.support.v7.widget.LinearLayoutManager;
  8. import android.support.v7.widget.RecyclerView;
  9. import android.view.LayoutInflater;
  10. import android.view.View;
  11. import android.view.ViewGroup;
  12. import android.widget.Button;
  13. import android.widget.Toast;
  14.  
  15. import com.android.volley.AuthFailureError;
  16. import com.android.volley.Request;
  17. import com.android.volley.RequestQueue;
  18. import com.android.volley.Response;
  19. import com.android.volley.VolleyError;
  20. import com.android.volley.toolbox.StringRequest;
  21. import com.android.volley.toolbox.Volley;
  22.  
  23. import org.json.JSONArray;
  24. import org.json.JSONException;
  25. import org.json.JSONObject;
  26.  
  27. import java.util.ArrayList;
  28. import java.util.Collections;
  29. import java.util.Comparator;
  30. import java.util.HashMap;
  31. import java.util.List;
  32. import java.util.Map;
  33.  
  34.  
  35. /**
  36. * A simple {@link Fragment} subclass.
  37. */
  38. public class CartFragment extends Fragment {
  39.  
  40. private RecyclerView recyclerView;
  41. private RecyclerView.Adapter adapter;
  42.  
  43. private List<CartItem> cartItems;
  44.  
  45. String cardno = SharedPrefManager.getInstance(getContext()).getUserCardNo();
  46.  
  47. @Override
  48. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  49. Bundle savedInstanceState) {
  50. // Inflate the layout for this fragment
  51. View myView = inflater.inflate(R.layout.fragment_cart, container, false);
  52.  
  53. recyclerView = (RecyclerView) myView.findViewById(R.id.recycleView_Cart);
  54. recyclerView.setHasFixedSize(true);
  55. recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
  56.  
  57. Button cartComplete = (Button) myView.findViewById(R.id.cartComplete);
  58. cartComplete.setText("PROCEED WITH PAYMENT. TOTAL: P");
  59.  
  60. cartItems = new ArrayList<>();
  61.  
  62. loadRecyclerViewData();
  63.  
  64. return myView;
  65. }
  66.  
  67. private void loadRecyclerViewData(){
  68. final ProgressDialog progressDialog = new ProgressDialog(getContext());
  69. progressDialog.setMessage("Loading Cart...");
  70. progressDialog.show();
  71.  
  72.  
  73. StringRequest stringRequest = new StringRequest(
  74. Request.Method.POST,
  75. Constants.URL_GET_CART,
  76. new Response.Listener<String>() {
  77. @Override
  78. public void onResponse(String response) {
  79. progressDialog.dismiss();
  80. try {
  81. JSONObject jsonObject = new JSONObject(response);
  82. JSONArray array = jsonObject.getJSONArray("cart");
  83. for (int i = 0; i<array.length(); i++){
  84. JSONObject o = array.getJSONObject(i);
  85. CartItem item = new CartItem(
  86. o.getString("cardno"),
  87. o.getString("product_id"),
  88. o.getString("name"),
  89. o.getString("quantity"),
  90. o.getString("price"),
  91. o.getString("category")
  92. );
  93. cartItems.add(item);
  94. }
  95. Collections.sort(cartItems, new Comparator<CartItem>() {
  96. @Override
  97. public int compare(CartItem o1, CartItem o2) {
  98. return o1.getname().compareToIgnoreCase(o2.getname());
  99. }
  100. });
  101. adapter = new CartAdaptor(cartItems, getContext());
  102. recyclerView.setAdapter(adapter);
  103.  
  104. } catch (JSONException e) {
  105. e.printStackTrace();
  106. }
  107. }
  108. },
  109. new Response.ErrorListener() {
  110. @Override
  111. public void onErrorResponse(VolleyError error) {
  112. progressDialog.dismiss();
  113. Toast.makeText(getContext(), error.getMessage(), Toast.LENGTH_LONG).show();
  114. }
  115. }
  116. ){
  117. @Override
  118. protected Map<String, String> getParams() throws AuthFailureError {
  119. Map<String, String> params = new HashMap<>();
  120. params.put("cardno", cardno);
  121. return params;
  122. }
  123. };
  124.  
  125. RequestQueue requestQueue = Volley.newRequestQueue(getContext());
  126. requestQueue.add(stringRequest);
  127. }
  128.  
  129.  
  130. }
Advertisement
Add Comment
Please, Sign In to add comment