mikepenz / FastAdapter

The bullet proof, fast and easy to use adapter library, which minimizes developing time to a fraction...
https://mikepenz.dev
Apache License 2.0
3.84k stars 494 forks source link

Swipe selection #195

Closed MFlisar closed 8 years ago

MFlisar commented 8 years ago

Any plans to add something like swipe selection like the google photos has it? Like this small library does for example: https://github.com/afollestad/drag-select-recyclerview

This would be a nice feature and probably could be implemented via a custom RecyclerView (like the one in the library above), the callbacks (select item, select item range, is selectable) are anyway already existing in the FastAdapter and only must be used

mikepenz commented 8 years ago

@MFlisar this is currently not planned. But I would be happy about a pull request adding something like this to the extension library package.

MFlisar commented 8 years ago

If I do this and combine the code from the library above with yours, how would I correctly give the credit? The custom RecyclerView would be a copy from there.

I think it could be beautified though so that it is implemented via composition instead of inheritance so that it can be used in any RecyclerView view class...

I would try it anyway soon.

mikepenz commented 8 years ago

As of the API of the drag-select recyclerview it is not as easy to add this. It might end up in something similar as the the firabase or realm implementations. as extensions lib module.

For credits. This module should have credits to @afollestad. and also the README should feature him. I also would love to prior ask him for integration.

The best solution will still be to combine both without the requirement of copy pasting everything (which is probably not possibl as of the different selection mechanisms)

MFlisar commented 8 years ago

Combining means double the code for selection... Maybe forking the project (it seems like he is not maintaining it anymore) and adjust what needs to be adjusted and throw out what is not needed is good as well?

Then I could just add a dependnecy to your project and do the rest in my forked project...

mikepenz commented 8 years ago

Combining means, creating an adapter which extends from the ItemAdapter which will have the methods as defined in his adapter, but calling the select methods etc provided by the FastAdapter

And this can then be added as another library module to the FastAdapter as special feature

MFlisar commented 7 years ago

Here's my solution for this, it can be found here:

https://github.com/MFlisar/DragSelectRecyclerView

May be interesting for others as well...

mikepenz commented 7 years ago

@MFlisar thanks. Great ;) You can add a sample activity to the FastAdapter to showcase the combination of your RV with it ;)

Rainer-Lang commented 7 years ago

Would you like to make a sample with your solution?

MFlisar commented 7 years ago

@Rainer-Lang

It's quite simple, I'll add an example (probably with FastAdapter) today or tomorrow... I am just finishing the library currently anyways...

MFlisar commented 7 years ago

@mikepenz I just extended the ExpandableMultiselectDeleteSampleActivity, it now uses the swipe selection feature as well... It's part of my pull request...

@Rainer-Lang Demo is part of my pull request https://github.com/mikepenz/FastAdapter/pull/324, all you need to look at is this commit: https://github.com/mikepenz/FastAdapter/pull/324/commits/791d52ab4afedde17601cd2f77db17751173aa5a

As you can see, there are only 2 thinks you have to do:

Rainer-Lang commented 7 years ago

@MFlisar thanks