仅在RecyclerView

时间:2015-07-26 05:16:58

标签: android android-animation android-recyclerview

我正在尝试根据数据集中的某些条件动画我的recyclerview中的一些项目。覆盖看起来像:

public void onBindViewHolder(final PlayerViewHolder playerViewHolder, final int position) {
    // Some basic logic
    setOnlineStatus(playerViewHolder, position);
}

private void setOnlineStatus(PlayerViewHolder playerViewHolder, int position) {
    User player = players.get(position);
    if(player.getIsOnline()){
        playerViewHolder.playerImageView.startAnimation(pulseAnimation);
    } else {
        playerViewHolder.playerImageView.clearAnimation();
    }
}

public static class PlayerViewHolder extends RecyclerView.ViewHolder {
    TextView counterTextView;
    CircularImageView playerImageView;

    PlayerViewHolder(View itemView) {
        super(itemView);
        counterTextView = (TextView)itemView.findViewById(R.id.counterTextView);
        playerImageView = (CircularImageView)itemView.findViewById(R.id.playerImageView);
    }
}

这会激活在线播放器项目。如果他们离线,我取消动画。

当我尝试在recyclerview中滚动时,问题就出现了。我知道观看者正在重复使用,但这会导致我在线的有效播放器停止制作动画,我猜他们会使用离线播放器数据进行回收。

我该如何解决这个问题?

0 个答案:

没有答案