Я использую ItemTouchHelper.SimpleCallback
, чтобы провести пальцем влево / вправо, и удаляю элемент из RecyclerView Adapter.
Хотя при смахивании на элемент ничего не происходит, также я заметил следующее сообщение в logcat при каждой попыткеswap.
W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
Я предполагаю, что это связано с проблемой производительности, но не уверен, что это вызывает смахивание?
Было бы здорово, если кто-тоМожет помочь понять, что здесь не так?
Вот мой ItemTouchHelper.SimpleCallback
класс.
public class SwipeToDismissCallback extends ItemTouchHelper.SimpleCallback {
private Context mContext;
SwipeToDismissCallback(@NonNull Context context) {
super(0, ItemTouchHelper.RIGHT);
this.mContext = context;
}
@Override
public boolean onMove(@NonNull RecyclerView recyclerView,
@NonNull RecyclerView.ViewHolder viewHolder,
@NonNull RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
Toast.makeText(mContext, "Hey there, this is swiped...", Toast.LENGTH_SHORT).show();
}
}
В моем Fragment
классе:
SwipeToDismissCallback swipeToDismissCallback =
new SwipeToDismissCallback(Objects.requireNonNull(getActivity()));
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(swipeToDismissCallback);
itemTouchHelper.attachToRecyclerView(recyclerView);