قرار دادن تایمر ایتم های ریسایکلر ویو
سلام وقت بخیر ، من توی آیتم های RecyclerView یه CountDownTimer قرار دادم که با شروع اکتیویتی به درستی نمایش داده میشه اعداد و شروع به شمارش میکنه اما مشکل اینجاست اگه ایتم ها رو اسکرول کنم رو به پایین و دوباره به ایتم های قبلی برگردم تایمر به زبون عامیانه ترکیده و اعداد نادرستی رو نشون میده کسی دلیل این رو میدونه؟
اینم کد برای چک کردن که قبلا تایمر ساخته نشده باشه اگر مقدارش null بود تایمر رو میسازه
if (mListDiscountTab.get(holder.getAdapterPosition()).getmCountDownTimer() == null) { mListDiscountTab.get(holder.getAdapterPosition()).setmCountDownTimer(new CountDownTimer((((mListDiscountTab.get(holder.getAdapterPosition()).getHour() * 60 * 60) + (mListDiscountTab.get(holder.getAdapterPosition()).getMinute() * 60) + (mListDiscountTab.get(holder.getAdapterPosition()).getSecond())) * 1000), 1000) { @Override public void onTick(long millisUntilFinished) { Log.d("herePOU", holder.getAdapterPosition()+""); long sec = (millisUntilFinished / 1000); ((ViewHolderItem) holder).tv_item_timer_hour_home_discount.setText(NumberConverter.Number_English_to_Persian(sec / 3600)); ((ViewHolderItem) holder).tv_item_timer_minute_home_discount.setText(NumberConverter.Number_English_to_Persian(((sec % 3600) / 60))); ((ViewHolderItem) holder).tv_item_timer_second_home_discount.setText(NumberConverter.Number_English_to_Persian((sec % 3600) % 60)); } @Override public void onFinish() { mListDiscountTab.remove(holder.getAdapterPosition()); notifyItemRemoved(holder.getAdapterPosition()); } });