RecycleView 倒计时 中因为复用机制导致的倒计时时间混乱的处理方案(转载自掘金)
使用背景:在电商项目中的很多item的倒计时显示。 产生问题的原因:1、复用 2、代码多次调用 解决方案:使用Timer + View集合 (使用集合将View保存起来) private Timer mTimer; private Set<RecyclerViewViewHolder> mHolders; public RecyclerViewAdapter(Activity activity, List<Long> itemList) { if (activity == null || itemList == null) { throw new IllegalArgumentException("params can't be null"); } this.activity = activity; this.itemList = itemList; mHolders = new HashSet<>(); mTimer = new Timer(); mTimer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { for (RecyclerViewViewHolder holder : mHolders) { updateTime(holder, holder.getTime()); } } },