我需要根据滑动方向更改行项目的背景色,如果向右滑动,则将颜色更改为绿色,如果向左滑动,则将颜色更改为红色。
但是我发现很难获取滑动的方向。
这是我的代码。
public class SimpleItemTouchHelperCallback extends ItemTouchHelper.Callback
{
private final ItemTouchHelperAdapter mAdapter;
public SimpleItemTouchHelperCallback(ItemTouchHelperAdapter mAdapter) {
this.mAdapter = mAdapter;
}
@Override
public boolean isItemViewSwipeEnabled() {
return true;
}
@Override
public boolean isLongPressDragEnabled() {
return false;
}
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
return false;
}
@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
final int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN;
final int swipeFlags = ItemTouchHelper.START | ItemTouchHelper.END;
return makeMovementFlags(dragFlags,swipeFlags);
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
if(direction == ItemTouchHelper.LEFT){
Log.i("Swipe direction : ","Left");
}
else if (direction == ItemTouchHelper.RIGHT){
Log.i("Swipe direction : ","Right");
}
mAdapter.onItemDismiss(viewHolder.getAdapterPosition());
}
}
我的日志中没有得到任何值。
请给出建议。
ItemTouchHelper.SimpleCallback
开始。 - pskink