首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Adapter获取位置并将其发送到Activity

如何从Adapter获取位置并将其发送到Activity
EN

Stack Overflow用户
提问于 2020-05-04 18:29:53
回答 4查看 316关注 0票数 0

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

代码语言:javascript
复制
public void onBindViewHolder(@NonNull HomeViewHolder holder, int position) {
...
...
}

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

代码语言:javascript
复制
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}; 

然后调用

代码语言:javascript
复制
images[position]
EN

回答 4

Stack Overflow用户

发布于 2020-05-04 18:33:51

在适配器中尝试getAdapterPostion()方法,并实现要传递给activity的侦听器

票数 1
EN

Stack Overflow用户

发布于 2020-05-04 18:36:05

在处理项目上的事件时,例如单击,您应该始终使用holder对象的getAdapterPosition()方法,而不是onBindViewHolder()中的position,因为它不会更新。

票数 1
EN

Stack Overflow用户

发布于 2020-05-04 18:40:08

Adapter中点击的项目位置保存在getAdapterPosition()getPosition()方法中。两者之间是有区别的,您可以检查该here。我建议您在需要获取所单击项目的Position时使用getAdapterPosition()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61590116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档