Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.67 KB | None | 0 0
  1. package com.example.temukerjas.adapter.list_options;
  2.  
  3. import android.app.Activity;
  4. import android.support.v7.widget.CardView;
  5. import android.support.v7.widget.RecyclerView;
  6. import android.view.LayoutInflater;
  7. import android.view.View;
  8. import android.view.ViewGroup;
  9. import android.widget.CheckBox;
  10. import android.widget.CompoundButton;
  11. import android.widget.LinearLayout;
  12. import android.widget.TextView;
  13. import android.widget.Toast;
  14.  
  15. import com.example.temukerjas.R;
  16. import com.example.temukerjas.model.cv.OptionItem;
  17.  
  18. import java.util.HashMap;
  19. import java.util.HashSet;
  20. import java.util.List;
  21. import java.util.Map;
  22.  
  23. import butterknife.BindView;
  24. import butterknife.ButterKnife;
  25.  
  26. public class AdapterOptionChecks extends RecyclerView.Adapter<AdapterOptionChecks.ViewHolder> {
  27.     private Activity context;
  28.     private List<OptionItem> list;
  29.     private OnSelect listener;
  30.     private String value = "";
  31.     private HashMap<String, String> datas;
  32.  
  33.  
  34.     public AdapterOptionChecks(Activity context, List<OptionItem> list) {
  35.         this.context = context;
  36.         this.list = list;
  37.     }
  38.  
  39.     public AdapterOptionChecks(Activity context, List<OptionItem> list, OnSelect listener) {
  40.         this.context = context;
  41.         this.list = list;
  42.         this.listener = listener;
  43.         datas = new HashMap<>();
  44.     }
  45.  
  46.     public List<OptionItem> getList() {
  47.         return list;
  48.     }
  49.  
  50.     public void setList(List<OptionItem> list) {
  51.         this.list = list;
  52.         notifyDataSetChanged();
  53.     }
  54.  
  55.     @Override
  56.     public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  57.         View layout = LayoutInflater.from(parent.getContext()).inflate(R.layout.content_multiple_check, parent, false);
  58.         return new ViewHolder(layout);
  59.     }
  60.  
  61.     @Override
  62.     public void onBindViewHolder(final ViewHolder viewHolder, final int position) {
  63.         viewHolder.txtName.setText(list.get(position).getOpt());
  64.  
  65.         //click listener
  66.         viewHolder.ck.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  67.             @Override
  68.             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  69.                 if (isChecked){
  70.                     value += list.get(position).getOpt()+"| ";
  71.                     Toast.makeText(buttonView.getContext(), ""+value, Toast.LENGTH_SHORT).show();
  72.                     listener.onSelect(list.get(position).getOpt());
  73.  
  74.                   /*  datas.put(""+position, list.get(position).getOpt());
  75.                     for (Map.Entry x : datas.entrySet()){
  76.                         value += x.getValue().toString()+", ";
  77.                     }*/
  78.                     Toast.makeText(buttonView.getContext(), ""+value, Toast.LENGTH_SHORT).show();
  79.                 }else {
  80.                     value.replace(list.get(position).getOpt()+"| ", "");
  81.                 }
  82.             }
  83.         });
  84.  
  85.         viewHolder.cv.setOnClickListener(new View.OnClickListener() {
  86.             @Override
  87.             public void onClick(View v) {
  88.                 listener.onSelect(list.get(position));
  89.             }
  90.         });
  91.     }
  92.  
  93.     @Override
  94.     public int getItemCount() {
  95.         return getList().size();
  96.     }
  97.  
  98.     public class ViewHolder extends RecyclerView.ViewHolder {
  99.         @BindView(R.id.ck)
  100.         CheckBox ck;
  101.         @BindView(R.id.txt_name)
  102.         TextView txtName;
  103.         @BindView(R.id.cv)
  104.         CardView cv;
  105.  
  106.         public ViewHolder(View itemView) {
  107.             super(itemView);
  108.             ButterKnife.bind(this, itemView);
  109.         }
  110.     }
  111.  
  112.     public interface OnSelect {
  113.         void onSelect(OptionItem data);
  114.         void onSelect(String value);
  115.     }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement