如何在recyclerview中保持按钮的按下状态?

时间:2017-12-03 22:15:20

标签: android android-recyclerview

我有一个应用程序,其中包含与recyclerViews不同的三个活动。 每个单元格都包含一个灰色的星形按钮。 当用户舔按钮时,它变为黄色。

holder.starBtn.setImageDrawable(ContextCompat.getDrawable(activity,android.R.drawable.btn_star_big_on));

我描述了这个场景:

  • 用户在activity2上,按下三个按钮,它们变为黄色。

  • 用户从activity2移动到activity3并从activity3移回到 活性2。按下的按钮仍为黄色。

  • 但是当用户从activity2移动到activity1并返回到activity2时 压得又灰了。

问题是如何保持按下按钮的状态?我怎么能让它们变黄。 为什么只有当用户向前移动而不是向后移动时才会保持状态?

我唯一的想法是在sqlite数据库中保存按下按钮的位置,但在android中是否有另一种方法可以保持按下的按钮状态在recyclerView中?

1 个答案:

答案 0 :(得分:0)

唯一的方法是将状态存储在数据库中或单例上。在该方法中,您可以将列表数据源存储在可以通过活动更改保留的位置。