diff --git a/SwipeToDelete/src/main/java/com/kedia/swipetodelete/SwipeToDelete.kt b/SwipeToDelete/src/main/java/com/kedia/swipetodelete/SwipeToDelete.kt index df9f75d..ce50590 100644 --- a/SwipeToDelete/src/main/java/com/kedia/swipetodelete/SwipeToDelete.kt +++ b/SwipeToDelete/src/main/java/com/kedia/swipetodelete/SwipeToDelete.kt @@ -34,7 +34,15 @@ fun RecyclerView.addSwipeToDelete( } override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: Int) { - listener?.swipeToDelete(adapterPosition = viewHolder.adapterPosition) + val swipeDirection: DIRECTION = when(direction) { + ItemTouchHelper.UP -> DIRECTION.UP + ItemTouchHelper.DOWN -> DIRECTION.DOWN + ItemTouchHelper.LEFT -> DIRECTION.LEFT + else -> DIRECTION.RIGHT + } + listener?.swipeToDelete(adapterPosition = viewHolder.adapterPosition, + swipeDirection = swipeDirection + ) this@addSwipeToDelete.adapter?.notifyItemRemoved(viewHolder.adapterPosition) } @@ -81,6 +89,6 @@ private fun Float.isPositive(): Boolean { } interface OnSwiped { - fun swipeToDelete(adapterPosition: Int) + fun swipeToDelete(adapterPosition: Int, swipeDirection: DIRECTION) } diff --git a/SwipeToDelete/src/main/java/com/kedia/swipetodelete/SwipeToPerform.kt b/SwipeToDelete/src/main/java/com/kedia/swipetodelete/SwipeToPerform.kt index fcac495..9ecd1c4 100644 --- a/SwipeToDelete/src/main/java/com/kedia/swipetodelete/SwipeToPerform.kt +++ b/SwipeToDelete/src/main/java/com/kedia/swipetodelete/SwipeToPerform.kt @@ -33,7 +33,13 @@ fun RecyclerView.addSwipeToPerform( } override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: Int) { - listener?.swipeToPerform(adapterPosition = viewHolder.adapterPosition) + val swipeDirection: DIRECTION = when(direction) { + ItemTouchHelper.UP -> DIRECTION.UP + ItemTouchHelper.DOWN -> DIRECTION.DOWN + ItemTouchHelper.LEFT -> DIRECTION.LEFT + else -> DIRECTION.RIGHT + } + listener?.swipeToPerform(adapterPosition = viewHolder.adapterPosition,swipeDirection = swipeDirection) } override fun onChildDraw( @@ -75,5 +81,5 @@ fun RecyclerView.addSwipeToPerform( } interface OnSwipeToPerform { - fun swipeToPerform(adapterPosition: Int) + fun swipeToPerform(adapterPosition: Int, swipeDirection: DIRECTION) } diff --git a/app/src/main/java/com/kedia/customswipelibrary/MainActivity.kt b/app/src/main/java/com/kedia/customswipelibrary/MainActivity.kt index 01f41c9..147062d 100644 --- a/app/src/main/java/com/kedia/customswipelibrary/MainActivity.kt +++ b/app/src/main/java/com/kedia/customswipelibrary/MainActivity.kt @@ -32,7 +32,7 @@ class MainActivity : AppCompatActivity(), OnSwiped, OnDragged, OnSwipeToPerform val list = listOf( DIRECTION.LEFT, DIRECTION.RIGHT) - recycler.addSwipeToPerform(list, this, ContextCompat.getColor(this, R.color.colorPrimaryDark)) + recycler.addSwipeToDelete(list, this, ContextCompat.getColor(this, R.color.colorPrimaryDark)) /** recycler.addSwipeToPerform(list, this, ContextCompat.getColor(this, R.color.colorPrimaryDark)) @@ -49,13 +49,13 @@ class MainActivity : AppCompatActivity(), OnSwiped, OnDragged, OnSwipeToPerform adapter.moveItem(fromPosition, toPosition) } - override fun swipeToDelete(adapterPosition: Int) { - Log.d("TAG!!!!", "swipeToDelete: ") + override fun swipeToDelete(adapterPosition: Int, swipeDirection: DIRECTION) { + Log.d("TAG!!!!", "swipeToDelete: $swipeDirection") adapter.removeItem(adapterPosition) } - override fun swipeToPerform(adapterPosition: Int) { - Log.d("TAG!!!!", "swipeToPerform: swiped") + override fun swipeToPerform(adapterPosition: Int, swipeDirection: DIRECTION) { + Log.d("TAG!!!!", "swipeToPerform: swiped $swipeDirection") } } \ No newline at end of file