Как правильно анимировать viewHolder в RcView?

У меня есть viewHolder, кнопки в котором я пытаюсь анимировать с помощью ObjectAnimator Проблема заключается в том, что анимация почему то вызывается два раза подряд, а именно когда первый раз кликает на buyImageButton и в первый раз кликаешь на addImageButton, после этого все нормально, можно ли как то избавиться от этого поведения, что анимация проигралась только один раз

class ProductViewHolder(item: View, private val itemClickListener: ItemClickListener) :
    RecyclerView.ViewHolder(item) {
    private val binding = ProductCardItemBinding.bind(item)
    private val context = binding.root.context

    fun bind(product: ProductDto) = with(binding) {
        addImageButton.setOnClickListener {
            itemClickListener.addProductItem(layoutPosition)
        }
        deleteImageButton.setOnClickListener {
            itemClickListener.removeProductItem(layoutPosition)
        }
        buyImageButton.setOnClickListener {
            itemClickListener.createProduct(layoutPosition)
        }
        if (product.count > 0) {
            countProductTextView.text = context.getString(R.string.count_products, product.count)
            countProductTextView.show()
            animator(deleteImageButton, 25, context)
            animator(addImageButton, -75, context)
            Log.d("ANIMATE", "CALL $layoutPosition")
            buyImageButton.hide()
        } else {
            countProductTextView.hide()
            buyImageButton.show()
            addImageButton.hide()
            deleteImageButton.hide()
        }
    }
    private fun animator(view : View, dp : Int, context : Context){
        view.show()
        ObjectAnimator.ofFloat(view, View.TRANSLATION_X, context.pixelToDp(dp).toFloat()).apply {
            duration = 300
            interpolator = AnticipateOvershootInterpolator(1f)
        }.start()
    }
}

Ниже представлены методы,которые вызываются на клик и меняют количетсво элементов в Item вьюхолдера , а далее обновляет представление элемента с помощью notifyItemChanged

        viewModel.incProduct(pos)
        adapter.notifyItemChanged(pos)
    }

    override fun removeProductItem(pos: Int) {
        viewModel.decProduct(pos)
        adapter.notifyItemChanged(pos)
    }


    override fun createProduct(pos: Int) {
        viewModel.createProduct(pos)
        adapter.notifyItemChanged(pos)
    }

Ответы (0 шт):