【发布时间】:2021-02-10 20:40:25
【问题描述】:
如何保存有关单击的 recyclerview 元素位置的信息?我需要突出显示单击的 recyclerview 元素并在关闭应用程序后保存此选择。我试图通过创建一个 booleanArray 并通过单击元素将值更改为 true 来做到这一点。但是如何保存这个数组,以便重新进入应用程序后,值不会被重置?
适配器
class UsersAdapter(private val videoTitles: List<String>,
private val Trening: List<String>,
private val clickListener: onClickRecyclerViewItem,
private val array: BooleanArray
): RecyclerView.Adapter<UsersAdapter.CustomViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomViewHolder {
val layoutInflater = LayoutInflater.from(parent.context)
val cellForRow = layoutInflater.inflate(R.layout.recyclerview_item, parent, false)
return CustomViewHolder(cellForRow)
}
@SuppressLint("ShowToast")
override fun onBindViewHolder(holder: CustomViewHolder, position: Int) {
val videoTitle = videoTitles[position]
val Trening1 = Trening[position]
holder.view.name.text= videoTitle
holder.view.quantity.text= Trening1
holder.view.setOnClickListener {
clickListener.onClickItemListener()
array[position] = true }
}
override fun getItemCount(): Int {
return videoTitles.size
}
@SuppressLint("ShowToast")
class CustomViewHolder(val view: View): RecyclerView.ViewHolder(view){
}
}
【问题讨论】:
-
使用 Sharedpreferences 保存数组
标签: android kotlin android-recyclerview sharedpreferences