0

I have a recyclerview with a textview and the clicked textview gets a background around it.I also have a button within the activity which should put a background to all the items in the recyclerview ie..to show all selected.I am putting my activity and adapter code.please help me

my activity code

set_all_days.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            CommonUtility.selectedDays.clear();
            CommonUtility.selectedDays.addAll(daysList);
            //loadDays();


        }
    });

my adapter

public  class DaysAdapter<T> extends RecyclerView.Adapter<DaysAdapter.ViewHolder> {
private ArrayList<String> list=new ArrayList<>();
private Context mContext;
private RecyclerViewClickListener mListener;

public DaysAdapter(ArrayList<String> data, Context context, RecyclerViewClickListener listener) {
    list = data;
    //languageListFiltered = filteredData;
    mContext = context;
    mListener = listener;
}

@Override
public void onBindViewHolder(DaysAdapter.ViewHolder viewHolder, final int position) {
    viewHolder.titleTextView.setText(list.get(position));
   // viewHolder.lang_radio.setChecked(position == mSelectedItem);
}

@Override
public int getItemCount() {
    return list.size();
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
    LayoutInflater inflater = LayoutInflater.from(mContext);
    final View view = inflater.inflate(R.layout.days_list_item, viewGroup, false);
    return new ViewHolder(view);
}

class ViewHolder extends RecyclerView.ViewHolder {

    public TextView titleTextView;

    public ViewHolder(final View inflate) {
        super(inflate);
        titleTextView = (TextView)inflate.findViewById(R.id.text_day);
        View.OnClickListener clickListener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(!CommonUtility.selectedDays.contains(titleTextView.getText().toString()))
                {
                    titleTextView.setBackground(mContext.getResources().getDrawable(R.drawable.green_circle));
                    titleTextView.setTextColor(mContext.getResources().getColor(R.color.white));
                    CommonUtility.selectedDays.add(titleTextView.getText().toString());
                    Log.d("added",titleTextView.getText().toString());
                }
                else
                {
                    int index=CommonUtility.selectedDays.indexOf(titleTextView.getText().toString());
                    CommonUtility.selectedDays.remove(index);
                    titleTextView.setBackground(null);
                    Log.d("removed",titleTextView.getText().toString());
                    titleTextView.setTextColor(mContext.getResources().getColor(R.color.black));

                }


            }
        };


        itemView.setOnClickListener(clickListener);
        titleTextView.setOnClickListener(clickListener);
    }
}

}

payalg
  • 1
  • 2
  • 2
    Possible duplicate of [Changing background color of selected item in recyclerview](https://stackoverflow.com/questions/40692214/changing-background-color-of-selected-item-in-recyclerview) – kj007 Sep 20 '18 at 13:30
  • its not a duplicate because the link shows how to change background from within the adapter class but I want to change the background of all items by hitting a button outside the adapter that is within the activity and not the adapter – payalg Sep 21 '18 at 05:44

0 Answers0