RecyclerView 中的 Lottie 动画仅在单个项目上播放动画
Lottie animation in a RecyclerView playing the animation only on a single item
我正在 Android RecyclerView 中制作 Lottie 动画,但动画仅在单个项目上播放,并且始终是最后一个项目。 onclick 在正确的项目上,但动画视图在常量项目上。
我的适配器部分
listingRecyclerItemBinding.quickviewfilled.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
quickViewNew("OFF", mValues.get(position).getPropertyIndex(),
mValues.get(position).getDeveloperId(), mValues.get(position).getPublic());
mValues.get(position).setQuickAccess("0");
notifyDataSetChanged();
}
});
listingRecyclerItemBinding.quickviews.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listingRecyclerItemBinding.quickviews.setVisibility(View.GONE);
listingRecyclerItemBinding.addToquick.setVisibility(View.VISIBLE);
listingRecyclerItemBinding.addToquick.addAnimatorListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animator) {
}
@Override
public void onAnimationEnd(Animator animator) {
listingRecyclerItemBinding.addToquick.setVisibility(View.GONE);
quickViewNew("ON", mValues.get(position).getPropertyIndex(),
mValues.get(position).getDeveloperId(),
mValues.get(position).getPublic());
mValues.get(position).setQuickAccess("1");
}
@Override
public void onAnimationCancel(Animator animator) {
}
@Override
public void onAnimationRepeat(Animator animator) {
}
});
listingRecyclerItemBinding.addToquick.playAnimation();
}
});
如何处理 android 回收站视图中的 Lottie 动画?
如果最后一个元素是唯一有效的元素,并且其他交互行为正常,则最可能的原因是您的代码 reassigning/recycling您的 lottie 动画与 RV 一起,直到它到达最后一个 RV 元素,并且正在reassing/reuse 的最后一个,它是有效的。
我正在 Android RecyclerView 中制作 Lottie 动画,但动画仅在单个项目上播放,并且始终是最后一个项目。 onclick 在正确的项目上,但动画视图在常量项目上。
我的适配器部分
listingRecyclerItemBinding.quickviewfilled.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
quickViewNew("OFF", mValues.get(position).getPropertyIndex(),
mValues.get(position).getDeveloperId(), mValues.get(position).getPublic());
mValues.get(position).setQuickAccess("0");
notifyDataSetChanged();
}
});
listingRecyclerItemBinding.quickviews.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listingRecyclerItemBinding.quickviews.setVisibility(View.GONE);
listingRecyclerItemBinding.addToquick.setVisibility(View.VISIBLE);
listingRecyclerItemBinding.addToquick.addAnimatorListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animator) {
}
@Override
public void onAnimationEnd(Animator animator) {
listingRecyclerItemBinding.addToquick.setVisibility(View.GONE);
quickViewNew("ON", mValues.get(position).getPropertyIndex(),
mValues.get(position).getDeveloperId(),
mValues.get(position).getPublic());
mValues.get(position).setQuickAccess("1");
}
@Override
public void onAnimationCancel(Animator animator) {
}
@Override
public void onAnimationRepeat(Animator animator) {
}
});
listingRecyclerItemBinding.addToquick.playAnimation();
}
});
如何处理 android 回收站视图中的 Lottie 动画?
如果最后一个元素是唯一有效的元素,并且其他交互行为正常,则最可能的原因是您的代码 reassigning/recycling您的 lottie 动画与 RV 一起,直到它到达最后一个 RV 元素,并且正在reassing/reuse 的最后一个,它是有效的。