我创建了一个包含多个数据和倒计时器的recyclerview。所有的事情都正常工作,直到我无法滚动列表。当我向下滚动列表时,countdowntimer将与上面的视图项冲突。它还计算当前的查看时间和随机时间。我尝试了很多东西来解决它,但无法做到。请帮帮我。提前致谢 。
这是我的RecyclerAdapter代码。
foodpanda
答案 0 :(得分:1)
问题是,在每次onBindViewHolder
来电时,您都会创建新的CountDownTimer
并更新ViewHolder
。因此,经过几次滚动后,多个CountDownTimer
会尝试更新相同的ViewHolder
。
每CountDownTimer
只创建一个ViewHolder
。为此,请在CountDownTimer
上设置新的.cancel();
之前先致电CountDownTimer
取消ViewHolder
。
要访问已在CountDownTimer
上设置的ViewHolder
,请在onCreateViewHolder
上创建并将其作为字段放在MyViewHolder
内。
在名为MyViewHolder
的{{1}}上设置公开方法,该方法执行您在update
中编写的所有程序以及适配器的onBindViewHolder
中的简单调用更新。 (清洁代码也是:))