kotlin 我怎样能添加计数器到viewpager2

ruoxqz4g  于 2023-01-02  发布在  Kotlin
关注(0)|答案(2)|浏览(190)

image
我不知道如何做计数器算法
这是我为我的viewpager写的适配器
类ViewPagerAdapter(瓦尔图像:列表,瓦尔mContext:上下文):循环视图.适配器<ViewPagerAdapter.ViewPagerViewHolderClass>(){

inner class ViewPagerViewHolderClass(view: View) : RecyclerView.ViewHolder(view){
    val viewPagerFoto : ImageView
    init {
        viewPagerFoto = view.findViewById(R.id.viewPagerFoto)
    }
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewPagerViewHolderClass {
    val view = LayoutInflater.from(mContext).inflate(R.layout.item_view_pager,parent,false)
    return ViewPagerViewHolderClass(view)
}

override fun onBindViewHolder(holder: ViewPagerViewHolderClass, position: Int) {
    val image = images[position]
    holder.viewPagerFoto.setImageResource(image)
}

override fun getItemCount(): Int {
    return images.size
}

}
我的家片段
我正在homefragment上执行操作

class HomeFragment : Fragment() {

    private lateinit var _binding : FragmentHomeBinding
    
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        _binding = FragmentHomeBinding.inflate(inflater,container,false)
        
        val images = listOf(
            R.drawable.f1,
            R.drawable.f2,
            R.drawable.f3,
            R.drawable.f4,
            R.drawable.f5,
            R.drawable.f6,
        )
        val adapter by lazy { ViewPagerAdapter(images,requireContext()) }
        _binding.viewPager.adapter = adapter

        
        return _binding.root
    }



}
yfwxisqw

yfwxisqw1#

override fun onBindViewHolder(holder: ViewPagerViewHolderClass, position: Int) {
        val image = images[position]
        holder.viewPagerFoto.setImageResource(image)
    }

你可以使用position参数,如果你只想在这里使用它,但是我建议在ViewPagerViewHolderClass上使用它,声明一个名为position的新参数,然后把它传递到那里。

lhcgjxsq

lhcgjxsq2#

在onBindViewHolder方法中有position参数,可以传递给viewHolder使用

相关问题