Guest User

AlimentoAdapter.java

a guest
Nov 5th, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.01 KB | None | 0 0
  1. import android.content.Context;
  2. import android.graphics.Color;
  3. import android.support.v4.view.MotionEventCompat;
  4. import android.support.v7.widget.RecyclerView;
  5. import android.view.LayoutInflater;
  6. import android.view.MotionEvent;
  7. import android.view.View;
  8. import android.view.ViewGroup;
  9. import android.widget.ImageView;
  10. import android.widget.TextView;
  11. import android.widget.Toast;
  12.  
  13. import com.alpi.android.REIM.helper.ItemTouchHelperAdapter;
  14. import com.alpi.android.REIM.helper.ItemTouchHelperViewHolder;
  15. import com.alpi.android.REIM.helper.OnStartDragListener;
  16. import com.squareup.picasso.Picasso;
  17.  
  18.  
  19. import java.util.ArrayList;
  20. import java.util.Collections;
  21. import java.util.Random;
  22.  
  23.  
  24. public class AlimentoAdapter extends RecyclerView.Adapter<AlimentoAdapter.ViewHolder>
  25. implements ItemTouchHelperAdapter {
  26.  
  27.     private ArrayList<Alimento> alimentos;
  28.     public String alimentosFinales[] = {};
  29.     private Context context;
  30.     private final OnStartDragListener mDragStartListener2;
  31.     int duracionToast = Toast.LENGTH_SHORT;
  32.  
  33.     public AlimentoAdapter(Context context, ArrayList<Alimento> alimentos, OnStartDragListener dragStartListener) {
  34.         this.context = context;
  35.         this.alimentos = alimentos;
  36.         mDragStartListener2 = dragStartListener;
  37.         long seed = System.nanoTime();
  38.         Collections.shuffle(alimentos, new Random(seed));
  39.     }
  40.  
  41.     @Override
  42.     public AlimentoAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  43.         View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.vista_handler, parent, false);
  44.         return new ViewHolder(view);
  45.     }
  46.  
  47.     @Override
  48.     public void onBindViewHolder(final ViewHolder holder, int position) {
  49.         holder.nombre.setText(alimentos.get(position).getNombreAlimento());
  50.         Picasso.with(context).load(alimentos.get(position).getImagenAlimento()).resize(85, 85).into(holder.imagen);
  51.         holder.imagen.setScaleType(ImageView.ScaleType.FIT_CENTER);
  52.         holder.imagen.setOnTouchListener(new View.OnTouchListener() {
  53.             @Override
  54.             public boolean onTouch(View v, MotionEvent event) {
  55.                 if (MotionEventCompat.getActionMasked(event) == MotionEvent.ACTION_DOWN) {
  56.                     mDragStartListener2.startSwipe(holder);
  57.                 }
  58.                 return false;
  59.             }
  60.         });
  61.     }
  62.  
  63.     @Override
  64.     public void onItemDismiss(int position) {
  65.             alimentos.remove(position);
  66.             notifyItemRemoved(position);
  67.     }
  68.  
  69.     @Override
  70.     public boolean onItemMove(int fromPosition, int toPosition) {
  71.         Collections.swap(alimentos, fromPosition, toPosition);
  72.         notifyItemMoved(fromPosition, toPosition);
  73.         return true;
  74.     }
  75.  
  76.     @Override
  77.     public int getItemCount() {
  78.         return alimentos.size();
  79.     }
  80.  
  81.  
  82.     public class ViewHolder extends RecyclerView.ViewHolder implements ItemTouchHelperViewHolder {
  83.         TextView nombre;
  84.         ImageView imagen;
  85.  
  86.         public ViewHolder(View view) {
  87.             super(view);
  88.  
  89.             nombre = (TextView) view.findViewById(R.id.nombre);
  90.             imagen = (ImageView) view.findViewById(R.id.imagen);
  91.         }
  92.  
  93.         @Override
  94.         public void onItemSelected() {
  95.             itemView.setBackgroundColor(Color.LTGRAY);
  96.         }
  97.  
  98.         @Override
  99.         public void onItemClear() {
  100.             itemView.setBackgroundColor(0);
  101.         }
  102.     }
  103.  
  104.     public void getResult() {
  105.         String[] alimentosFinales = new String[alimentos.size()];
  106.         int index = 0;
  107.         for (Alimento nombreAlimento : alimentos) {
  108.             alimentosFinales[index] = String.valueOf( nombreAlimento );
  109.             index++;
  110.         }
  111.         if(alimentosFinales.length==0){
  112.             Toast toast1 = Toast.makeText(context, "No hay alimentos", duracionToast);
  113.             toast1.show();
  114.         } else {
  115.             Toast toast = Toast.makeText(context, alimentosFinales[0], duracionToast);
  116.             toast.show();
  117.         }
  118.     }
  119. }
Add Comment
Please, Sign In to add comment