Skip to content

Commit

Permalink
Actually use bindingAdapterPosition instead of adapterPosition
Browse files Browse the repository at this point in the history
  • Loading branch information
Zhuinden committed Oct 4, 2021
1 parent f3f8268 commit ace1150
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -267,16 +267,16 @@ public boolean onItemLongClick(Item item, View view) {

private TouchCallback touchCallback = new SwipeTouchCallback() {
@Override public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
Item item = groupAdapter.getItem(viewHolder.getAdapterPosition());
Item targetItem = groupAdapter.getItem(target.getAdapterPosition());
Item item = groupAdapter.getItem(viewHolder.getBindingAdapterPosition());
Item targetItem = groupAdapter.getItem(target.getBindingAdapterPosition());

List<Group> dragItems = dragSection.getGroups();
int targetIndex = dragItems.indexOf(targetItem);
dragItems.remove(item);

// if item gets moved out of the boundary
if (targetIndex == -1) {
if (target.getAdapterPosition() < viewHolder.getAdapterPosition()) {
if (target.getBindingAdapterPosition() < viewHolder.getBindingAdapterPosition()) {
targetIndex = 0;
} else {
targetIndex = dragItems.size() - 1;
Expand All @@ -289,7 +289,7 @@ public boolean onItemLongClick(Item item, View view) {
}

@Override public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
Item item = groupAdapter.getItem(viewHolder.getAdapterPosition());
Item item = groupAdapter.getItem(viewHolder.getBindingAdapterPosition());
// Change notification to the adapter happens automatically when the section is
// changed.
swipeSection.remove(item);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ class MainActivity : AppCompatActivity() {
}

override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: Int) {
val item = groupAdapter.getItem(viewHolder.adapterPosition)
val item = groupAdapter.getItem(viewHolder.bindingAdapterPosition)
// Change notification to the adapter happens automatically when the section is
// changed.
swipeSection.remove(item)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -284,16 +284,16 @@ class MainActivity : AppCompatActivity() {
object : SwipeTouchCallback() {
override fun onMove(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder,
target: RecyclerView.ViewHolder): Boolean {
val item = groupAdapter.getItem(viewHolder.adapterPosition)
val targetItem = groupAdapter.getItem(target.adapterPosition)
val item = groupAdapter.getItem(viewHolder.bindingAdapterPosition)
val targetItem = groupAdapter.getItem(target.bindingAdapterPosition)

val dragItems = dragSection.groups
var targetIndex = dragItems.indexOf(targetItem)
dragItems.remove(item)

// if item gets moved out of the boundary
if (targetIndex == -1) {
targetIndex = if (target.adapterPosition < viewHolder.adapterPosition) {
targetIndex = if (target.bindingAdapterPosition < viewHolder.bindingAdapterPosition) {
0
} else {
dragItems.size - 1
Expand All @@ -306,7 +306,7 @@ class MainActivity : AppCompatActivity() {
}

override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: Int) {
val item = groupAdapter.getItem(viewHolder.adapterPosition)
val item = groupAdapter.getItem(viewHolder.bindingAdapterPosition)
// Change notification to the adapter happens automatically when the section is
// changed.
swipeSection.remove(item)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public class GroupieViewHolder extends RecyclerView.ViewHolder {
public void onClick(@NonNull View v) {
// Discard click if the viewholder has been removed, but was still in the process of
// animating its removal while clicked (unlikely, but technically possible)
if (onItemClickListener != null && getAdapterPosition() != RecyclerView.NO_POSITION) {
if (onItemClickListener != null && getBindingAdapterPosition() != RecyclerView.NO_POSITION) {
onItemClickListener.onItemClick(getItem(), v);
}
}
Expand All @@ -28,7 +28,7 @@ public void onClick(@NonNull View v) {
public boolean onLongClick(@NonNull View v) {
// Discard long click if the viewholder has been removed, but was still in the process of
// animating its removal while long clicked (unlikely, but technically possible)
if (onItemLongClickListener != null && getAdapterPosition() != RecyclerView.NO_POSITION) {
if (onItemLongClickListener != null && getBindingAdapterPosition() != RecyclerView.NO_POSITION) {
return onItemLongClickListener.onItemLongClick(getItem(), v);
}
return false;
Expand Down

0 comments on commit ace1150

Please sign in to comment.