我正在尝试从适配器中获取被单击项目的位置,并将其发送到一个活动,但似乎无法使其工作。
public void onBindViewHolder(@NonNull HomeViewHolder holder, int position) {
...
...
}我尝试从onBindViewHolder获取位置,然后将其发送到activity并在数组中调用它:
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]发布于 2020-05-04 18:33:51
在适配器中尝试getAdapterPostion()方法,并实现要传递给activity的侦听器
发布于 2020-05-04 18:36:05
在处理项目上的事件时,例如单击,您应该始终使用holder对象的getAdapterPosition()方法,而不是onBindViewHolder()中的position,因为它不会更新。
发布于 2020-05-04 18:40:08
在Adapter中点击的项目位置保存在getAdapterPosition()和getPosition()方法中。两者之间是有区别的,您可以检查该here。我建议您在需要获取所单击项目的Position时使用getAdapterPosition()。
https://stackoverflow.com/questions/61590116
复制相似问题