【发布时间】:2015-09-29 21:13:09
【问题描述】:
我有一个回收器视图适配器。 所以它拥有 3 个视图。只是每个视图都有 ImageView。 当用户单击图像时(3 个中的 1 个),它会创建使用照片应用程序的新意图,并在完成后将其返回给调用者。调用者(创建 RecyclerView 及其适配器的活动)处理 onActivityResult。从那里我需要将在上述意图中拍摄的缩略图设置为相应的选定 ImageView。
问题。在我的 Activity 中,我如何知道要修改哪个 imageView(可用 3 个)?我的 Activity 只知道点击了回收器视图适配器中哪个项目的位置。
是否可以通过仅使用位置以某种方式获取对适配器中特定 imageView 的引用?
所以是这样的:来自活动:adapter.getImageView(position)
编辑: 所以我的解决方案是:我一直在跟踪适配器中的所有 ImageView,并将它们的 ref 存储在 ArrayList 中的`onBindViewHolder。所以现在我可以使用 adapter.getImageView(position)
【问题讨论】:
-
您如何为您的适配器上的每个项目分配值?我会假设你使用数组列表对吗?如果是这样,您不能尝试使用适配器位置引用数组列表的索引吗?它对我有用
-
我需要访问一个特定的视图,而不是一个值。
-
问题是,使用照片应用程序捕获图像的唯一方法是创建意图,无法处理实际适配器中的响应。我需要在我的适配器中访问一个特定的 ImageView.... 或者我猜在每个 onBindViewHolder 我应该只跟踪数组列表中的 ImageViews.. 嗯
-
是的,这是一个想法……我只是正确地重新阅读了您的问题……尝试使用数组列表!几个月前我遇到了类似的问题,我相信数组列表为我解决了这个问题
标签: android android-recyclerview android-viewholder