为什么我的notifyItemChanged()更改了RV的错误项目?

时间:2019-05-28 14:20:28

标签: android recycler-adapter

我的RV项目上有一个按钮。单击后,我显示进度栏并将请求发送到我的API。响应成功后,我想隐藏进度条并更改按钮的背景。在这里,我单击我的按钮:

holder.ivAddTo.setOnClickListener {
            holder.progressBar.visibility = View.VISIBLE
            holder.ivAddTo.setBackgroundResource(R.drawable.added_to_notepad)
            holder.ivAddTo.visibility = View.GONE
            holder.ivAddTo.isClickable = false

            saveToNotepad(jobModel.id)


        }

我的api调用方法部分:

  if (response.isSuccessful) {
                    Toast.makeText(ctx, "Added to notepad", Toast.LENGTH_SHORT).show()
                    notifyItemChanged(view.getTag(R.id.tag_3) as Int, 1)
                }

我的第二个OnBindViewHolder()

override fun onBindViewHolder(holder: JobsHolder, position: Int, payloads: List<Any>) {
        if (payloads.isNotEmpty()) {
            when (payloads[0]) {
                1 -> {
                    holder.ivAddTo.visibility = View.GONE
                }
            }
        } else {
            super.onBindViewHolder(holder, position, payloads);
        }
    }

我的问题-在收到200次回复后,我的应用更改了RV的最后一个可见项目,为什么会发生,我该如何解决呢?

0 个答案:

没有答案