mikepenz/FastAdapter

ItemFilter publishResults NPE

Closed this issue · 1 comments

Initializing itemFilterListener like

itemFilterListener =
    object : ItemFilterListener<ListItem> {
        override fun itemsFiltered(
            constraint: CharSequence?,
            results: List<ListItem>?
        ) {
            // code
        }

        override fun onReset() {
            // code
        }
    }

and filtering with SearchView

searchView.setOnQueryTextListener(
    object : SearchView.OnQueryTextListener {
        override fun onQueryTextChange(newText: String): Boolean {
            itemAdapter.filter(newText)
            return true
        }

        override fun onQueryTextSubmit(query: String): Boolean = false
    }
)

throws an exception on navigation between fragments (on navigate back to fragment having SearchView)

java.lang.NullPointerException: null cannot be cast to non-null type kotlin.collections.List<Item of com.mikepenz.fastadapter.adapters.ItemFilter>
    at com.mikepenz.fastadapter.adapters.ItemFilter.publishResults(ItemFilter.kt:104)
    at android.widget.Filter$ResultsHandler.handleMessage(Filter.java:284)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:246)
    at android.app.ActivityThread.main(ActivityThread.java:8653)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

Thank you 👍