From 67881d221556a0b9cc4899d4b34f59f8ddab8ba3 Mon Sep 17 00:00:00 2001 From: lynxnb Date: Wed, 23 Feb 2022 18:19:49 +0100 Subject: [PATCH] Misc improvements to `GenericAdapter` - Allow removing one item from the list - Keep track of one selected position. This is useful for single choice lists using radio buttons - Max number of displayed entries. An expand button will be displayed at the bottom when going past the limit, and the entries to display when collapsed is configurable --- app/src/main/java/emu/skyline/adapter/GenericAdapter.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/src/main/java/emu/skyline/adapter/GenericAdapter.kt b/app/src/main/java/emu/skyline/adapter/GenericAdapter.kt index 8e4b47ee..900675a0 100644 --- a/app/src/main/java/emu/skyline/adapter/GenericAdapter.kt +++ b/app/src/main/java/emu/skyline/adapter/GenericAdapter.kt @@ -36,6 +36,7 @@ class GenericAdapter : RecyclerView.Adapter>(), F val currentItems : List> get() = asyncListDiffer.currentList var currentSearchTerm = "" + var selectedPosition : Int? = null private val viewTypesMapping = mutableMapOf() @@ -68,6 +69,11 @@ class GenericAdapter : RecyclerView.Adapter>(), F filter.filter(currentSearchTerm) } + fun removeItemAt(position : Int) { + allItems.removeAt(position) + filter.filter(currentSearchTerm) + } + fun setOnFilterPublishedListener(listener : OnFilterPublishedListener) { onFilterPublishedListener = listener }