I implement a function, when I test effect
the first abnormal condition:
I noticed that the drag problem automatically ended for item before my finger left the screen,I Debugging through breakpoints,the call chain is onAnimationFinished -> removeAnimatingView -> this.mChildHelper.removeViewIfHidden(view) -> this.mCallback.removeViewAt(index), both the dragging item and new position item are removed
@Override
public void onDragStarted(ProjectTaskTemplateModel model, final View itemView,
int adapterPosition) {
if (!isShowSortStyle) {
return;
}
backgroundAnimator = ValueAnimator.ofObject(new ArgbEvaluator(), white, white);
backgroundAnimator.addUpdateListener(new AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animator) {
itemView.setBackgroundColor((int) animator.getAnimatedValue());
}
});
backgroundAnimator.start();
itemView.animate().scaleX(1.05f).scaleY(1.05f);
}
@Override
public void onDragReleased(ProjectTaskTemplateModel model, final View itemView) {
if (!isShowSortStyle) {
return;
}
if (backgroundAnimator != null) {
backgroundAnimator.cancel();
}
backgroundAnimator = ValueAnimator.ofObject(
new ArgbEvaluator(), ((ColorDrawable) itemView.getBackground()).getColor(), white
);
backgroundAnimator.addUpdateListener(new AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animator) {
itemView.setBackgroundColor((int) animator.getAnimatedValue());
}
});
backgroundAnimator.start();
itemView.animate().scaleX(1f).scaleY(1f);
}
@Override
public void onModelMoved(int fromPosition, int toPosition,
ProjectTaskTemplateModel modelBeingMoved, View view) {
if (!isShowSortStyle) {
return;
}
Task remove = topLevelTaskList.remove(fromPosition);
topLevelTaskList.add(toPosition, remove);
}
});
}`
when I comment onModelMoved inside code,the drag effect is ok,but the drag item will go back origin position when finish dragging item
and I have a Very similar recyclerview,it don't happen above-mentioned and work right,two recyclerviews is in same activity
epoxy_version = '2.19.0'
I implement a function, when I test effect the first abnormal condition: I noticed that the drag problem automatically ended for item before my finger left the screen,I Debugging through breakpoints,the call chain is onAnimationFinished -> removeAnimatingView -> this.mChildHelper.removeViewIfHidden(view) -> this.mCallback.removeViewAt(index), both the dragging item and new position item are removed
the second abnormal condition: it happen crash
the dragging implementation as follow: ` private void initDragging() { EpoxyTouchHelper.initDragging(taskController) .withRecyclerView(rvTasks) .forVerticalList() .withTarget(ProjectTaskTemplateModel.class) .andCallbacks(new DragCallbacks() {
ValueAnimator backgroundAnimator = null;
}`
when I comment onModelMoved inside code,the drag effect is ok,but the drag item will go back origin position when finish dragging item and I have a Very similar recyclerview,it don't happen above-mentioned and work right,two recyclerviews is in same activity
sorry,my english is bad @elihart