Skip to main content

Command Palette

Search for a command to run...

How to execute any operations in an *Adapter or a *ViewHolder under the foreground activity's lifecyclescope?

Updated
1 min read
How to execute any operations in an *Adapter or a *ViewHolder under the foreground activity's lifecyclescope?
R

Senior Android Engineer from Bangladesh. Love to contribute in Open-Source. Indie Music Producer.

If get to know something new by reading my articles, don't forget to endorse me on LinkedIn

Yes, we can do that, EASILY!

By using: DI (Hilt) | FUN, right?

Let's check the snapshot::

(PNG Image, 4008 × 4772 pixels) — Scaled (20%).png

First,

We have an abstract class "ActivityAdapter" that takes "Context" as a parameter and contain an Single API "getCoroutineScope()" to get the Activity's LifecycleScope (Force Casting) as a callback.

Second,

We are receiving the "Context" in the "TestAdapter" with the help of "DI, THE SAVIOUR" :D and adapter is extended from "ActivityAdapter". Now we can access the LifecycleScope of foreground activity's in the *Adapter or *ViewHolder in runtime.

Third (Final Step),

Register the "TestAdapter" in the any module which is bound to Activity lifecyle or annotated with "@InstallIn(ActivityComponent::class)". This module make sure that "TestAdapter" receive the foreground activity context as a parameter when client "@Inject" "TestAdapter" in an Activity or a Fragment.

Happy Coding...