0

I want to filter what gonna appear in the recyclerview is it possible ?

There is a CalendarView and i want that when someone clicks in a day from the calendarview, it shows itemviews just from that date, for example when someone click in day 15 of the month may, it shows just the tasks that is for that day

I do not know if is it possible. If someone can help me, it would be great.

Sorry for my english, it's google translate

package com.iza.letfly;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Paint;
import android.os.Build;
import android.preference.PreferenceManager;
import android.text.Html;
import android.util.SparseBooleanArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.FirebaseFirestore;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class AdapterDoes extends RecyclerView.Adapter<AdapterDoes.MyViewHolder> {

    Context context;
    ArrayList<Mydoes> mydoes;
    FirebaseFirestore firestore;
    FirebaseUser user;


    public  AdapterDoes(Context c, ArrayList<Mydoes> p){
       context = c;
       mydoes = p;

    }

    @NonNull
    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup ViewGroup, int i) {
        return new MyViewHolder(LayoutInflater.from(context).inflate(R.layout.item_does, ViewGroup, false));
    }

    @Override
    public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) {
        myViewHolder.titleDoes.setText(mydoes.get(i).getTitleDoes());
        myViewHolder.DescribeDoes.setText(mydoes.get(i).getDescribeDoes());
        myViewHolder.dateDoes.setText(mydoes.get(i).getDateDoes());
        myViewHolder.alarm.setText(mydoes.get(i).getAlarm());
        myViewHolder.checkBox2.setText(mydoes.get(i).getCheck());

        myViewHolder.checkBox2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {


                    if (myViewHolder.checkBox2.isChecked()){
                        myViewHolder.checkBox2.setChecked(false);
                    }else{
                        myViewHolder.checkBox2.setChecked(true);
                    }

                }
        });

        if(myViewHolder.checkBox2.getText().equals("CHECKED")){
            myViewHolder.checkBox2.setChecked(true);
                myViewHolder.titleDoes.setAlpha(0.4f);
                myViewHolder.DescribeDoes.setAlpha(0.5f);
            myViewHolder.DescribeDoes.setPaintFlags(myViewHolder.DescribeDoes.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
            myViewHolder.titleDoes.setPaintFlags(myViewHolder.titleDoes.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
        }


        if(myViewHolder.checkBox2.getText().equals("UNCHECKED")){
            myViewHolder.checkBox2.setChecked(false);
        }


        myViewHolder.itemView.setOnClickListener(new View.OnClickListener() {


            final String getTitleDoes = mydoes.get(i).getTitleDoes();
            final String getDescribeDoes = mydoes.get(i).getDescribeDoes();
            final String getDateDoes = mydoes.get(i).getDateDoes();
            final String getAlarm = mydoes.get(i).getAlarm();
            final String getKeyDoes = mydoes.get(i).getKeyDoes();
            final String getCheck = mydoes.get(i).getCheck();


            @Override
            public void onClick(View v) {
                Intent i = new Intent(context,Edit_Check.class);
                i.putExtra("titleDoes",getTitleDoes);
                i.putExtra("DescribeDoes",getDescribeDoes);
                i.putExtra("dateDoes",getDateDoes);
                i.putExtra("alarm",getAlarm);
                i.putExtra("keyDoes",getKeyDoes);
                i.putExtra("check", getCheck);
                context.startActivity(i);
            }
        });



    }

    @Override
    public int getItemCount() {

        return mydoes.size();
    }

    class MyViewHolder extends RecyclerView.ViewHolder {

        TextView titleDoes,DescribeDoes,dateDoes, alarm, keyDoes;
        CheckBox checkBox2;


        public MyViewHolder(@NonNull View itemView) {
            super(itemView);
            titleDoes = (TextView) itemView.findViewById(R.id.titleDoes);
            DescribeDoes = (TextView) itemView.findViewById(R.id.DescribeDoes);
            dateDoes = (TextView) itemView.findViewById(R.id.dateDoes);
            alarm = (TextView) itemView.findViewById(R.id.alarm);
            checkBox2 = (CheckBox) itemView.findViewById(R.id.checkBox2);



        }


    }
}
Anand
  • 857
  • 1
  • 12
  • 18
izadora
  • 13
  • 4
  • This answer is helping with similar question [Android - Implementing search filter to a RecyclerView](https://stackoverflow.com/questions/40754174/android-implementing-search-filter-to-a-recyclerview) – Anand Jun 09 '21 at 05:59
  • Also, check https://stackoverflow.com/q/30398247/4704327 – Anand Jun 09 '21 at 06:00

0 Answers0