0

I am getting the date from the activity in the adapter and then created a custom layout for showing data in a recycler but I want to remove some item on a certain condition if its matches with any condition in a view binding in adapter but I am unable to delete it. any idea how to delete the item?

Below is my code of the adapter.

public class Get_Events_List_Adapter extends RecyclerView.Adapter<Get_Events_List_Adapter.Get_Events_List_Adapter_View_Holder>
{
    Context context;
    List<responsemodel> data;
    int hour,minute,year,month,date;

    private ItemClickListner mItemListner;

    public Get_Events_List_Adapter(Context applicationContext, List<responsemodel> data,int hour,int minute,int year,int month,int date, ItemClickListner itemClickListner)
    {
        this.data = data;
        this.mItemListner = itemClickListner;
        this.context = applicationContext;
        this.hour = hour;
        this.minute = minute;
        this.year = year;
        this.month = month;
        this.date = date;
    }

    @NonNull
    @Override
    public Get_Events_List_Adapter_View_Holder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.display_events_list_layout,parent,false);
        return new Get_Events_List_Adapter_View_Holder(view);
    }

    @RequiresApi(api = Build.VERSION_CODES.N)
    @Override
    public void onBindViewHolder(@NonNull Get_Events_List_Adapter_View_Holder holder, int position) {

        holder.display_events_list_event_name.setText(data.get(position).getCreate_Event_Name());
        holder.display_events_list_event_organizer.setText(data.get(position).getCreate_Event_Organizer());
        holder.display_events_list_event_type.setText(data.get(position).getCreate_Event_Type());
        if (TextUtils.isEmpty(data.get(position).getCreate_Event_Specific_Person()))
        {
            holder.display_events_list_event_specific_person.setVisibility(View.GONE);
        }
        else
        {

        }

        String starting_time_hour = data.get(position).getCreate_Event_Starting_Time_Hour();
        int Starting_Time_Hour = Integer.parseInt(starting_time_hour);
        String starting_time_minute = data.get(position).getCreate_Event_Starting_Time_Minute();
        int Starting_Time_Minute = Integer.parseInt(starting_time_minute);
        String starting_date_day = data.get(position).getCreate_Event_Starting_Date_Day();
        int Starting_Date_Day = Integer.parseInt(starting_date_day);
        String starting_date_month = data.get(position).getCreate_Event_Starting_Date_Month();
        int Starting_Date_Month = Integer.parseInt(starting_date_month);
        String starting_date_year = data.get(position).getCreate_Event_Starting_Date_Year();
        int Starting_Date_Year = Integer.parseInt(starting_date_year)-1900;


        String ending_time_hour = data.get(position).getCreate_Event_Ending_Time_Hour();
        int Ending_Time_Hour = Integer.parseInt(ending_time_hour);
        String ending_time_minute = data.get(position).getCreate_Event_Ending_Time_Minute();
        int Ending_Time_Minute = Integer.parseInt(ending_time_minute);
        String ending_date_day = data.get(position).getCreate_Event_Ending_Date_Day();
        int Ending_Date_Day = Integer.parseInt(ending_date_day);
        String ending_date_month = data.get(position).getCreate_Event_Ending_Date_Month();
        int Ending_Date_Month = Integer.parseInt(ending_date_month);
        String ending_date_year = data.get(position).getCreate_Event_Ending_Date_Year();
        int Ending_Date_Year = Integer.parseInt(ending_date_year)-1900;

        Date dates = new Date();
        dates.setHours(Starting_Time_Hour);
        dates.setMinutes(Starting_Time_Minute);
        SimpleDateFormat df = new SimpleDateFormat("hh:mm a");
        String st = df.format(dates);

        holder.display_events_list_event_starting_time.setText(st);

        Date date1 = new Date();
        date1.setHours(Ending_Time_Hour);
        date1.setMinutes(Ending_Time_Minute);
        SimpleDateFormat df1 = new SimpleDateFormat("hh:mm a");
        String et = df1.format(date1);

        holder.display_events_list_event_ending_time.setText(et);

        Date date2 = new Date();
        date2.setYear(Starting_Date_Year);
        date2.setMonth(Starting_Date_Month);
        date2.setDate(Starting_Date_Day);
        SimpleDateFormat fmtOut = new SimpleDateFormat("yyyy―MM―dd");
        String sd = fmtOut.format(date2);

        holder.display_events_list_event_starting_date.setText(sd);


        Date date3 = new Date();
        date3.setYear(Ending_Date_Year);
        date3.setMonth(Ending_Date_Month);
        date3.setDate(Ending_Date_Day);
        SimpleDateFormat df3 = new SimpleDateFormat("yyyy―MM―dd");
        String ed = df3.format(date3);

        holder.display_events_list_event_ending_date.setText(String.valueOf(ed));


        if (Integer.parseInt(starting_date_year)<year)
        {
            **Remove item at this point**
        }
        else if (Integer.parseInt(starting_date_year)==year && Integer.parseInt(starting_date_month)<month)
        {
            **Remove item at this point**
        }
        else if (Integer.parseInt(starting_date_year)==year && Integer.parseInt(starting_date_month)==month && Integer.parseInt(starting_date_day)<date)
        {
            **Remove item at this point**
        }
        else
        {
            if (Integer.parseInt(starting_time_hour)<hour && Integer.parseInt(starting_date_year)==year && Integer.parseInt(starting_date_month)==month && Integer.parseInt(starting_date_day)==date)
            {
                **Remove item at this point**
            }
            else if (Integer.parseInt(starting_time_hour)==hour && Integer.parseInt(starting_time_minute)<minute  && Integer.parseInt(starting_date_year)==year && Integer.parseInt(starting_date_month)==month && Integer.parseInt(starting_date_day)==date)
            {
                **Remove item at this point**
            }
        }


        if (position == data.size()-1)
        {
            holder.display_events_list_event_view.setVisibility(View.GONE);
            holder.display_events_list_event_no_more.setVisibility(View.VISIBLE);
        }

        holder.itemView.setOnClickListener(view -> {
            mItemListner.onItemClick(data.get(position));
        });

    }

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

    public interface ItemClickListner {
        void  onItemClick(responsemodel details);
    }

    class Get_Events_List_Adapter_View_Holder extends RecyclerView.ViewHolder
    {
        TextView display_events_list_event_name,display_events_list_event_organizer,display_events_list_event_type,display_events_list_event_starting_date,display_events_list_event_ending_date,display_events_list_event_starting_time,display_events_list_event_ending_time;
        View display_events_list_event_view;
        TextView display_events_list_event_no_more;

        public Get_Events_List_Adapter_View_Holder(@NonNull View itemView) {
            super(itemView);

            display_events_list_event_name = itemView.findViewById(R.id.display_events_list_event_name);
            display_events_list_event_organizer = itemView.findViewById(R.id.display_events_list_event_organizer);
            display_events_list_event_type = itemView.findViewById(R.id.display_events_list_event_type);
            display_events_list_event_starting_date = itemView.findViewById(R.id.display_events_list_event_starting_date);
            display_events_list_event_ending_date = itemView.findViewById(R.id.display_events_list_event_ending_date);
            display_events_list_event_starting_time = itemView.findViewById(R.id.display_events_list_event_starting_time);
            display_events_list_event_ending_time = itemView.findViewById(R.id.display_events_list_event_ending_time);

            display_events_list_event_view = itemView.findViewById(R.id.display_events_list_event_view);

            display_events_list_event_no_more = itemView.findViewById(R.id.display_events_list_event_no_more);

        }
    }
}
Adeel Zaman
  • 23
  • 1
  • 4
  • Here is a similar question (but not exact), could adapt this logic for your needs: https://stackoverflow.com/questions/26076965/android-recyclerview-addition-removal-of-items – shagberg Sep 13 '22 at 19:15
  • This answer is much different and I am the beginner in android studio so.i am really not understanding. – Adeel Zaman Sep 13 '22 at 20:38

0 Answers0