Commit c6261b0e authored by fallenstardust's avatar fallenstardust

禁用footerView拖动和与其他listitem交换

parent d7e210f2
...@@ -155,7 +155,11 @@ public class ServerListManager { ...@@ -155,7 +155,11 @@ public class ServerListManager {
ItemTouchHelper helper = new ItemTouchHelper(new ItemTouchHelper.Callback() { ItemTouchHelper helper = new ItemTouchHelper(new ItemTouchHelper.Callback() {
@Override @Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) { public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
return makeMovementFlags(ItemTouchHelper.UP | ItemTouchHelper.DOWN, 0); if (viewHolder.getAdapterPosition() != mAdapter.getFooterViewPosition()) {
return makeMovementFlags(ItemTouchHelper.UP | ItemTouchHelper.DOWN, 0);
} else {
return makeMovementFlags(ItemTouchHelper.ACTION_STATE_IDLE, 0);
}
} }
@Override @Override
...@@ -172,7 +176,8 @@ public class ServerListManager { ...@@ -172,7 +176,8 @@ public class ServerListManager {
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) { public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
int left = viewHolder.getAdapterPosition(); int left = viewHolder.getAdapterPosition();
int right = target.getAdapterPosition(); int right = target.getAdapterPosition();
if (left >= 0) { int footer = mAdapter.getFooterViewPosition();
if (left >= 0 && left != footer && right != footer) {
mChanged = true; mChanged = true;
mAdapter.notifyItemMoved(left, right); mAdapter.notifyItemMoved(left, right);
Collections.swap(mAdapter.getItems(), left, right); Collections.swap(mAdapter.getItems(), left, right);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment