android - 将 RecyclerView 适配器设置为 ViewPager2
问题描述
我创建了一个带有水平滚动和 PageSnapHelper 的 RecyclerView。现在我想用 ViewPager2 替换 RecyclerView。?我可以简单地设置我之前为新的 ViewPager2 创建的 RecyclerView 适配器吗?
适配器类在这里
class QuoteAdapter(
val context: Context,
val list: ArrayList<ResultsItem>
) : RecyclerView.Adapter<QuoteAdapter.QuoteViewHolder>() {
var i = 0;
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int):
QuoteViewHolder {
val view = LayoutInflater.from(context)
.inflate(R.layout.item_quote, parent, false)
return QuoteViewHolder(view)
}
override fun getItemCount() = list.size
override fun onBindViewHolder(holder: QuoteViewHolder, position: Int) {
holder.quote.text = list[position].quoteText
holder.quote_by.text = "- ${list[position].quoteAuthor}"
ColorStore()
if (position == 0) {
holder.quote_bg.setBackgroundColor(ContextCompat.getColor(context, R.color.md_blue_400))
} else {
holder.quote_bg.setBackgroundColor(ContextCompat.getColor(context, colorList.random()))
}
holder.quote_bg.setOnClickListener {
holder.quote_bg.setBackgroundColor(ContextCompat.getColor(context, colorList.random()))
}
}
class QuoteViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val quote = itemView.quote_text
val quote_by = itemView.by_text
val quote_bg = itemView.quote_bg
}
}
解决方案
我只是将recyclerview 适配器设置为viewpager2。有用。
推荐阅读
- networking - 如何调试涉及 TCP 中继的慢速 TCP 连接
- java - 如何优化 Hibernate 执行时间?
- tensorboard - Tensorboard,如何显示预测与实际值的图表?
- excel - 替换/删除单元格中的引号
- flutter - 不会在调试控制台中出现输出
- java - MapStruct 将父字段映射到对象的子数组
- nuxt.js - Google Tag Manager + NuxtJs 创建重复脚本
- python - 使用 Numpy default_rng 的 Scipy 稀疏随机
- axios - 如何在 nextjs 中处理服务器端身份验证?
- c# - 使用 azure sdk for .net 为 ACI 创建容器组,创建在 30 秒后超时。如何设置超时?