Guest User

Untitled

a guest
Jun 18th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.02 KB | None | 0 0
  1. public class PedidosAdapter extends
  2. RecyclerView.Adapter<PedidosAdapter.PedidosViewHolder>{
  3.  
  4. private AsyncHttpClient cliente;
  5. private List<Pedidos> items;
  6. private String parametro;
  7.  
  8. public PedidosAdapter(List<Pedidos> items){
  9.  
  10. super();
  11.  
  12. this.items = items;
  13.  
  14. }
  15.  
  16. public static class PedidosViewHolder extends RecyclerView.ViewHolder{
  17.  
  18. public CardView pedidoCardview;
  19. public TextView IdPedido;
  20. public TextView Direccion;
  21. public TextView NombreCliente;
  22. public TextView NumeroContacto;
  23.  
  24.  
  25.  
  26. public PedidosViewHolder (View v){
  27.  
  28. super (v);
  29. pedidoCardview = (CardView) v.findViewById(R.id.cv_pedidos);
  30. IdPedido = (TextView) v.findViewById(R.id.textID);
  31. Direccion = (TextView) v.findViewById(R.id.textDireccion);
  32. NombreCliente = (TextView) v.findViewById(R.id.textNomCliente);
  33. NumeroContacto = (TextView) v.findViewById(R.id.textNumContac);
  34.  
  35.  
  36. }
  37. }
  38.  
  39.  
  40. @Override
  41. public int getItemCount() {
  42. return items.size();
  43. }
  44.  
  45. public List<Pedidos> getItems(){
  46. return this.items;
  47. }
  48.  
  49. @Override
  50. public PedidosViewHolder onCreateViewHolder(ViewGroup viewGroup, int i){
  51. View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.cardview_pedidos, viewGroup, false);
  52. return new PedidosViewHolder(v);
  53. }
  54.  
  55.  
  56. @Override
  57. public void onBindViewHolder(final PedidosViewHolder viewHolder, final int position){
  58.  
  59. viewHolder.IdPedido.setText("N°: "+items.get(position).getIdPedido());
  60. viewHolder.Direccion.setText("Dirección: "+items.get(position).getDireccion());
  61. viewHolder.NombreCliente.setText("Nombre Cliente: "+items.get(position).getNomCliente());
  62. viewHolder.NumeroContacto.setText("Numero Contacto: "+items.get(position).getNumContac());
  63.  
  64. cliente= new AsyncHttpClient();
  65.  
  66. viewHolder.pedidoCardview.setOnClickListener(new View.OnClickListener() {
  67.  
  68. @Override
  69. public void onClick(final View view) {
  70. AlertDialog.Builder ad= new AlertDialog.Builder(view.getContext());
  71. ad.setMessage("¿Confirmar selección?");
  72.  
  73. final Pedidos infoData = items.get(position);
  74. ad.setPositiveButton("Aceptar", new DialogInterface.OnClickListener() {
  75. @Override
  76. public void onClick(DialogInterface dialogInterface, int i) {
  77.  
  78.  
  79. PedidosAdapter pv = new PedidosAdapter(items);
  80.  
  81. Toast.makeText(view.getContext(),"Posicion" + position,Toast.LENGTH_SHORT).show();
  82. updateDato();
  83. removeItem(position);
  84. dialogInterface.dismiss();
  85. }
  86.  
  87. });
  88.  
  89. ad.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
  90. @Override
  91. public void onClick(DialogInterface dialogInterface, int i) {
  92. dialogInterface.dismiss();
  93. }
  94. });
  95. AlertDialog alertDialog = ad.create();
  96. alertDialog.show();
  97. }
  98. private void removeItem(int position){
  99.  
  100. items.remove(position);
  101. notifyDataSetChanged();
  102. }
  103.  
  104. private void updateDato(){
  105.  
  106. String url = "https://nuevalibertad.000webhostapp.com/ConectarDB/UpdatePedido.php?";
  107. parametro ="IdPedido"+ items.get(position).getIdPedido();
  108. cliente.post(url+parametro, new AsyncHttpResponseHandler() {
  109. @Override
  110. public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
  111. if(statusCode==200){
  112. Toast.makeText(viewHolder.pedidoCardview.getContext(),"Pedido entregado ",Toast.LENGTH_SHORT).show();
  113. }
  114.  
  115. }
  116.  
  117. @Override
  118. public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
  119. Toast.makeText(viewHolder.pedidoCardview.getContext(),"Error, de conexión",Toast.LENGTH_SHORT).show();
  120.  
  121. }
  122. });
  123. }
  124.  
  125. });
  126.  
  127. }
  128.  
  129. public class Pedidos {
  130.  
  131. private int id,cantidad,idPedido;
  132. private String direccion;
  133. private String NumContac;
  134. private String NomCliente;
  135. private String Estado;
  136.  
  137. public Pedidos (){}
  138.  
  139. public Pedidos(int id, int cantidad, int idPedido, String direccion, String numContac, String nomCliente, String estado) {
  140. this.id = id;
  141. this.cantidad = cantidad;
  142. this.idPedido = idPedido;
  143. this.direccion = direccion;
  144. NumContac = numContac;
  145. NomCliente = nomCliente;
  146. Estado = estado;
  147. }
  148.  
  149. public int getId() {
  150. return id;
  151. }
  152.  
  153. public void setId(int id) {
  154. this.id = id;
  155. }
  156.  
  157. public int getCantidad() {
  158. return cantidad;
  159. }
  160.  
  161. public void setCantidad(int cantidad) {
  162. this.cantidad = cantidad;
  163. }
  164.  
  165. public int getIdPedido() {
  166. return idPedido;
  167. }
  168.  
  169. public void setIdPedido(int idPedido) {
  170. this.idPedido = idPedido;
  171. }
  172.  
  173. public String getDireccion() {
  174. return direccion;
  175. }
  176.  
  177. public void setDireccion(String direccion) {
  178. this.direccion = direccion;
  179. }
  180.  
  181. public String getNumContac() {
  182. return NumContac;
  183. }
  184.  
  185. public void setNumContac(String numContac) {
  186. NumContac = numContac;
  187. }
  188.  
  189. public String getNomCliente() {
  190. return NomCliente;
  191. }
  192.  
  193. public void setNomCliente(String nomCliente) {
  194. NomCliente = nomCliente;
  195. }
  196.  
  197. public String getEstado() {
  198. return Estado;
  199. }
  200.  
  201. public void setEstado(String estado) {
  202. Estado = estado;
  203. }
  204.  
  205. @Override
  206. public String toString() {
  207. return "N°" + idPedido +"n" +
  208. "Dirección: " + direccion + "n" +
  209. "Nombre Cliente: " + NomCliente + "n" +
  210. "Numero contacto: " + NumContac + "n" +
  211. "Cantidad recargas: "+cantidad+"n"+
  212. "Estado: " + Estado ;
  213. }
  214.  
  215. public class Tab1 extends Fragment {
  216. // TODO: Rename parameter arguments, choose names that match
  217. // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
  218. private static final String ARG_PARAM1 = "param1";
  219. private static final String ARG_PARAM2 = "param2";
  220. private ListView lvDatos;
  221. private RecyclerView rvPedidos;
  222. private RecyclerView.Adapter rvAdapter;
  223. private AsyncHttpClient cliente;
  224. private RecyclerView.LayoutManager lmanager;
  225. private Button btnSeleccionar;
  226.  
  227. // TODO: Rename and change types of parameters
  228. private String mParam1;
  229. private String mParam2;
  230.  
  231. private OnFragmentInteractionListener mListener;
  232.  
  233. public Tab1() {
  234. // Required empty public constructor
  235.  
  236.  
  237. }
  238.  
  239. /**
  240. * Use this factory method to create a new instance of
  241. * this fragment using the provided parameters.
  242. *
  243. * @param param1 Parameter 1.
  244. * @param param2 Parameter 2.
  245. * @return A new instance of fragment Tab1.
  246. */
  247. // TODO: Rename and change types and number of parameters
  248. public static Tab1 newInstance(String param1, String param2) {
  249. Tab1 fragment = new Tab1();
  250. Bundle args = new Bundle();
  251. args.putString(ARG_PARAM1, param1);
  252. args.putString(ARG_PARAM2, param2);
  253. fragment.setArguments(args);
  254. return fragment;
  255. }
  256.  
  257. @Override
  258. public void onCreate(Bundle savedInstanceState) {
  259. super.onCreate(savedInstanceState);
  260.  
  261. if (getArguments() != null) {
  262. mParam1 = getArguments().getString(ARG_PARAM1);
  263. mParam2 = getArguments().getString(ARG_PARAM2);
  264.  
  265. }
  266. }
  267.  
  268. @Override
  269. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  270. Bundle savedInstanceState) {
  271. cliente = new AsyncHttpClient();
  272. View view = inflater.inflate(R.layout.fragment_tab1, container, false);
  273. // Inflate the layout for this fragment
  274. rvPedidos = (RecyclerView) view.findViewById(R.id.rv_pedidos);
  275. lmanager = new LinearLayoutManager(this.getActivity());
  276. rvPedidos.setLayoutManager(lmanager);
  277. rvPedidos.setHasFixedSize(true);
  278.  
  279.  
  280. obtenerPedidos();
  281.  
  282. return view;
  283. }
  284.  
  285. // TODO: Rename method, update argument and hook method into UI event
  286. public void onButtonPressed(Uri uri) {
  287. if (mListener != null) {
  288. mListener.onFragmentInteraction(uri);
  289. }
  290. }
  291.  
  292. @Override
  293. public void onAttach(Context context) {
  294. super.onAttach(context);
  295. if (context instanceof OnFragmentInteractionListener) {
  296. mListener = (OnFragmentInteractionListener) context;
  297. } else {
  298. throw new RuntimeException(context.toString()
  299. + " must implement OnFragmentInteractionListener");
  300. }
  301. }
  302.  
  303. @Override
  304. public void onDetach() {
  305. super.onDetach();
  306. mListener = null;
  307. }
  308.  
  309. /**
  310. * This interface must be implemented by activities that contain this
  311. * fragment to allow an interaction in this fragment to be communicated
  312. * to the activity and potentially other fragments contained in that
  313. * activity.
  314. * <p>
  315. * See the Android Training lesson <a href=
  316. * "http://developer.android.com/training/basics/fragments/communicating.html"
  317. * >Communicating with Other Fragments</a> for more information.
  318. */
  319. public interface OnFragmentInteractionListener {
  320. // TODO: Update argument type and name
  321. void onFragmentInteraction(Uri uri);
  322. }
  323.  
  324. private void obtenerPedidos(){
  325. String url = "https://nuevalibertad.000webhostapp.com/ConectarDB/ObtenerDatos.php";
  326. cliente.post(url, new AsyncHttpResponseHandler() {
  327. @Override
  328. public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
  329.  
  330. if (statusCode == 200){
  331.  
  332. listarPedidos (new String (responseBody));
  333. }
  334. }
  335.  
  336. @Override
  337. public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
  338.  
  339. }
  340. });
  341.  
  342. }
  343.  
  344. private void listarPedidos (String respuesta){
  345.  
  346. ArrayList<Pedidos> lista = new ArrayList<>();
  347. try{
  348. JSONArray jsonArreglo = new JSONArray(respuesta);
  349. for (int i=0; i<jsonArreglo.length();i++){
  350. Pedidos p = new Pedidos();
  351.  
  352. p.setIdPedido(jsonArreglo.getJSONObject(i).getInt("ID_PEDIDO"));
  353. p.setNomCliente(jsonArreglo.getJSONObject(i).getString("NOMBRE_CLIENTE"));
  354. p.setDireccion(jsonArreglo.getJSONObject(i).getString("DIRECCION"));
  355. p.setNumContac(jsonArreglo.getJSONObject(i).getString("NUMEROCONTACTO"));
  356. p.setCantidad(jsonArreglo.getJSONObject(i).getInt("CANTIDAD"));
  357. p.setEstado(jsonArreglo.getJSONObject(i).getString("ESTADO"));
  358. lista.add(p);
  359. }
  360.  
  361. rvAdapter = new PedidosAdapter(lista);
  362.  
  363. rvPedidos.setAdapter(rvAdapter);
  364.  
  365. }catch (Exception e1){
  366.  
  367. e1.printStackTrace();
  368. }
  369.  
  370. }
Add Comment
Please, Sign In to add comment