Skip to content

Instantly share code, notes, and snippets.

@romannurik
Last active May 1, 2021 10:16
Show Gist options
  • Save romannurik/2980593 to your computer and use it in GitHub Desktop.
Save romannurik/2980593 to your computer and use it in GitHub Desktop.
**BETA** Android 4.0-style "Swipe to Dismiss" sample code
Moved to
https://github.com/romannurik/android-swipetodismiss
@MattSkala
Copy link

Thanks, awesome!
And with use of http://nineoldandroids.com/, you can get it working on older versions.

@pjbrinck
Copy link

Roman,

I am working my way thru the code to identify the cause of a "bug"... but having some difficulty getting my head around it. I was hoping we could do this together.

I'm experiencing, when in onItemClick() I call adapter.notifyDataSetChanged(), adapter.getView() is NOT called for the item/position clicked, but is nicely called for all other visible items/positions.

If I omit setting the SwipeDismissListViewTouchListener on the list view (disabling the swipe-remove functionality), adapter.getView() is CERTAINLY called for all visible items, including the clicked item, in the scenario above.

Please help me identify what causes this slightly different behavior.

best regards pjbrinck

@jesdga95
Copy link

@pjbrinck, you probably already fixed it, but I faced this bug today, and fixed it (plus another small bug):

https://gist.github.com/D4rKn3sSyS/6057805

Roman, thank you very much for this snippet, very useful for today's Android UI design.

@tasomaniac
Copy link

I have a problem with CursorLoaders. When you use this with a regular ArrayAdapter, you can remove all the dismissed items and then call notifyDataSetChanged() w/o any problem. When I use SimpleCursorAdapter with CursorLoader and LoaderManager, it automatically detects the changes in the database and update the UI whenever a change occurs. So the result it that there are items going out and coming again and going out again. How can I solve this? Has anyone experienced such problem?

@zagayevskiy
Copy link

Hello! It's very good job. I have a small quastion: How can I disable swipe to one side (for example swipe to left)?

@suzhouliuyan
Copy link

It is very good job.

@vnguyen972
Copy link

So I was trying to use this little library for my list and when I put a list inside a PagerViewer... the swipe won't work, everytime I tried, it just swipe between the pages on the PagerViewer, is there a way to distinguish between them? can you swipe the list item horizontally without the PagerViewer intercepts the swipe and swipe its pages?

@Yougin
Copy link

Yougin commented Apr 17, 2014

Has anyone found a solution for a problem tasomaniac mentioned (SwipeToDismiss and CursorLoader) ?

@tasomaniac
Copy link

@Yougin I haven't tried but this can solve it. You can disable automatic loading of the CursorLoader using a custom CursorLoader. Chris Banes does it in his open-source Photup application. https://github.com/chrisbanes/photup/blob/master/client/src/uk/co/senab/photup/util/PhotupCursorLoader.java

@cornwe19
Copy link

You might want to make a temporary cursor that manually hides the dismissed indices while the updated cursor loads. Something like this https://gist.github.com/cornwe19/6be23fde488c577691d3 might accomplish what you need.

@bishnu371
Copy link

Very good library , i am using it.
Please help me ,How to handle left and right swipe?

Thanks In Advance

@GeeekerAndy
Copy link

Thanks a lot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment