在RecyclerView适配器中的位置的方法

时间:2018-02-14 07:26:13

标签: android android-activity android-recyclerview android-adapter recycler-adapter

我有一个场景,我需要一些使用RecyclerView的帮助。工作流程如下:

  • 用户点击RecyclerView适配器中的TextView,然后点击,i 启用之前禁用的Activity中的按钮。
  • 点击此启用按钮,我想更改被点击的特定位置的颜色。

现在我所拥有的是一个界面,它提供了单击TextView的位置。我真正想要做的是在我的适配器中使用类似的功能:

public void changeColor(int position){
  //change background color of position
}

然后我可以从活动adapter.changeColor(position)调用。

有人可以解释这是否可行,或者可以通过其他方式实现这一目标。

2 个答案:

答案 0 :(得分:0)

您可以在适配器的compileSdkVersion compileSdkVersion方法中设置这些操作

我将展示onBindViewHolder此示例,但在Kotlin中它将是相同的:

Java

答案 1 :(得分:0)

我假设您使用ArrayList<ModelClass>将数据扩展到RecyclerView。

启用|禁用texview 的值及颜色值设置为模型对象。

  • 实施textview点击onBindViewHolder()方法。
  • onClick()方法中更改具有新颜色值的特定位置的模型值。
  • 确保更改反映在arraylist值而不仅仅是模型对象[可以使用arraylist.removeAt(pos)然后使用arraylist.add(pos,model)]
  • 最后致电notifyItemChanged(position)

此外,我建议您使用标记方法