recyclerview中的倒计时器无法正常工作

时间:2017-12-06 05:14:14

标签: java android android-recyclerview recycler-adapter countdowntimer

我创建了一个包含多个数据和倒计时器的recyclerview。所有的事情都正常工作,直到我无法滚动列表。当我向下滚动列表时,countdowntimer将与上面的视图项冲突。它还计算当前的查看时间和随机时间。我尝试了很多东西来解决它,但无法做到。请帮帮我。提前致谢 。

这是我的RecyclerAdapter代码。

foodpanda

1 个答案:

答案 0 :(得分:1)

问题是,在每次onBindViewHolder来电时,您都会创建新的CountDownTimer并更新ViewHolder。因此,经过几次滚动后,多个CountDownTimer会尝试更新相同的ViewHolder

CountDownTimer只创建一个ViewHolder。为此,请在CountDownTimer上设置新的.cancel();之前先致电CountDownTimer取消ViewHolder

要访问已在CountDownTimer上设置的ViewHolder,请在onCreateViewHolder上创建并将其作为字段放在MyViewHolder内。

在名为MyViewHolder的{​​{1}}上设置公开方法,该方法执行您在update中编写的所有程序以及适配器的onBindViewHolder中的简单调用更新。 (清洁代码也是:))