Package com.example.breeze_seas
Class AdminBrowseProfilesAdapter
java.lang.Object
androidx.recyclerview.widget.RecyclerView.Adapter<AdminBrowseProfilesAdapter.ProfileViewHolder>
com.example.breeze_seas.AdminBrowseProfilesAdapter
public class AdminBrowseProfilesAdapter
extends androidx.recyclerview.widget.RecyclerView.Adapter<AdminBrowseProfilesAdapter.ProfileViewHolder>
Adapter for the RecyclerView in the AdminBrowseProfiles screen.
Binds a list of
User objects to corresponding UI elements.
Supports search filtering and item deletion.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceInterface definition for a callback to be invoked when a profile is deleted.static classHolds references to the UI components for a single profile row.Nested classes/interfaces inherited from class androidx.recyclerview.widget.RecyclerView.Adapter
androidx.recyclerview.widget.RecyclerView.Adapter.StateRestorationPolicy -
Constructor Summary
ConstructorsConstructorDescriptionAdminBrowseProfilesAdapter(List<User> userList, AdminBrowseProfilesAdapter.OnProfileDeleteListener deleteListener) Constructs a new AdminBrowseProfilesAdapter. -
Method Summary
Modifier and TypeMethodDescriptionvoidFilters the displayed list based on a search query.intvoidonBindViewHolder(AdminBrowseProfilesAdapter.ProfileViewHolder holder, int position) onCreateViewHolder(android.view.ViewGroup parent, int viewType) voidremoveUser(User user) Removes a user from both lists and refreshes the view.voidupdateList(List<User> newUsers) Replaces the full user list from the LiveData source, then refilters.Methods inherited from class androidx.recyclerview.widget.RecyclerView.Adapter
bindViewHolder, createViewHolder, findRelativeAdapterPositionIn, getItemId, getItemViewType, getStateRestorationPolicy, hasObservers, hasStableIds, notifyDataSetChanged, notifyItemChanged, notifyItemChanged, notifyItemInserted, notifyItemMoved, notifyItemRangeChanged, notifyItemRangeChanged, notifyItemRangeInserted, notifyItemRangeRemoved, notifyItemRemoved, onAttachedToRecyclerView, onBindViewHolder, onDetachedFromRecyclerView, onFailedToRecycleView, onViewAttachedToWindow, onViewDetachedFromWindow, onViewRecycled, registerAdapterDataObserver, setHasStableIds, setStateRestorationPolicy, unregisterAdapterDataObserver
-
Constructor Details
-
AdminBrowseProfilesAdapter
public AdminBrowseProfilesAdapter(List<User> userList, AdminBrowseProfilesAdapter.OnProfileDeleteListener deleteListener) Constructs a new AdminBrowseProfilesAdapter.- Parameters:
userList- The full list of users to display.deleteListener- Callback invoked when the delete button is pressed.
-
-
Method Details
-
updateList
Replaces the full user list from the LiveData source, then refilters. Called by the fragment whenever the LiveData updates.- Parameters:
newUsers- The updated list of users.
-
filter
Filters the displayed list based on a search query. Admin accounts are always excluded regardless of query. Matches against display name, username, and device ID (case-insensitive).- Parameters:
query- The search string to filter by.
-
removeUser
Removes a user from both lists and refreshes the view.- Parameters:
user- The user to remove.
-
onCreateViewHolder
@NonNull public AdminBrowseProfilesAdapter.ProfileViewHolder onCreateViewHolder(@NonNull android.view.ViewGroup parent, int viewType) - Specified by:
onCreateViewHolderin classandroidx.recyclerview.widget.RecyclerView.Adapter<AdminBrowseProfilesAdapter.ProfileViewHolder>
-
onBindViewHolder
public void onBindViewHolder(@NonNull AdminBrowseProfilesAdapter.ProfileViewHolder holder, int position) - Specified by:
onBindViewHolderin classandroidx.recyclerview.widget.RecyclerView.Adapter<AdminBrowseProfilesAdapter.ProfileViewHolder>
-
getItemCount
public int getItemCount()- Specified by:
getItemCountin classandroidx.recyclerview.widget.RecyclerView.Adapter<AdminBrowseProfilesAdapter.ProfileViewHolder>
-