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);
}
}
}