首页 > 解决方案 > 如何从适配器获取位置并将其发送到活动

问题描述

我试图从适配器获取单击项目的位置并将其发送到活动,但似乎无法使其工作。

public void onBindViewHolder(@NonNull HomeViewHolder holder, int position) {
...
...
}

我试图从 onBindViewHolder 获取位置,然后将其发送到活动并在数组中调用它:

private int[] images = {R.raw.glasses1, R.raw.glasses3, R.raw.glasses4, R.raw.glasses5,
        R.raw.glasses6, R.raw.glasses7, R.raw.glasses8, R.raw.glasses9, R.raw.glasses10}; 

然后打电话

images[position]

标签: androidandroid-studioandroid-activityadapterandroid-recyclerview

解决方案


在处理诸如单击之类的项目上的事件时,您应该始终使用getAdapterPosition()holder 对象的方法而不是positionin,onBindViewHolder()因为它没有更新。


推荐阅读