-
Notifications
You must be signed in to change notification settings - Fork 314
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Make getItems() null-safe for Kotlin interoperability #106
Comments
I have created this PR, simply adding |
thanks for your contribution. I will take a look at it tomorrow. |
just out of curiosity: what is your use case to actually access ˋitemsˋ or create a subclass of ˋListDelegationAdapterˋ |
Sure, I will try to explain. Our entire app is written in Kotlin. We have a very dynamic screen (consisting of a recycler view mainly) where depending on some conditions we might need to insert or remove something into our adapter's list. For this we have declared our own adapter, subclassing
where Additionally, some of the views we have are a bit complex with nested scrolling and we have some custom tracking inside our fragment, where we need to get the position of certain views, something like:
The second case can be worked around with that custom base adapter, but the first case (inside our adapter) will always allow a non-nulllable access to the This is not something that prevents us from using the library of course. It is just a safety measure we would like to have for future implementations and for using this excellent library throughout more places in our app. Thank you for looking into it. |
Thanks for sharing |
Thank you for reviewing and merging! I will close this issue. |
@sockeqwe any idea when we will have the change available in a release? Thanks! |
@Sab44 could you give the latest snapshot a try to see if everything works as expected? If that is the case I will create a new release |
@sockeqwe can confirm with the snapshot version that for both the inherited |
@sockeqwe any news on a release? Thanks. |
Sorry, I almost forgot about it. |
it is released now as Thanks again for your contribution |
Hi,
we are using a
ListDelegationAdapter
in our Kotlin project and everything is working nicely.There is only one thing I would love to have and that is a null-safe access to the
items
variable declared in theAbsDelegationAdapter
.Currently Kotlin does not enforce nullability when calling
items
(orgetItems()
).We can build something like this as a superclass for our adapters:
Apart from being an ugly workaround, it also will only work for accessing
items
outside of the adapter. In a sub-class, it will still default to theprotected T items
variable without null-safety.Is there anything that can be done about that? Or am I missing an obvious solution to that problem? Thank you!
The text was updated successfully, but these errors were encountered: