Java 如何访问适配器中定义的imageview?
我在Android中的Recyclerview的Adapter on View holder中定义了一个imageview。我想将该imageview访问到我的活动中,以便以编程方式设置图像。我如何才能做到这一点?假设您有一个Adapter ImageRecyclerAdapter类:Java 如何访问适配器中定义的imageview?,java,android,Java,Android,我在Android中的Recyclerview的Adapter on View holder中定义了一个imageview。我想将该imageview访问到我的活动中,以便以编程方式设置图像。我如何才能做到这一点?假设您有一个Adapter ImageRecyclerAdapter类: public class ImageRecyclerAdapter extends RecyclerView.Adapter<ViewHolder>{ public interface I
public class ImageRecyclerAdapter extends RecyclerView.Adapter<ViewHolder>{
public interface ImageViewInterface {
void onImageViewLoaded(ImageView imageView);
}
final ImageViewInterface imageViewInterface;
public ImageRecyclerAdapter(ImageViewInterface imageViewInterface) {
this.imageViewInterface = imageViewInterface;
}
//in the onBindViewHolder method
public void onBindViewHolder(final ViewHolder holder, int position) {
imageViewInterface.onImageViewLoaded(holder.imageView);
}
}
“您的代码”在哪里?在列表项的模型类中设置图像资源或图像的url。请提供您正在使用的代码。实际上,我不想在我的活动中扩展视图持有者,因为在我的适配器中发生了很多事情。我只想从那里使用一个图像视图。您的解决方案很好,但是如果有其他简单的方法可以做到这一点,请告诉我它是否只返回一个图像?您可以使用相同的代码,在创建图像视图时发送图像视图,而不是在onbind viewholder期间/内部。如果你能告诉我你的意思,不想扩展视图持有者,我可以修改我的答案
ImageRecyclerAdapter imageRecyclerAdapter = new ImageRecyclerAdapter(new ImageRecyclerAdapter.ImageViewInterface() {
@Override
public void onImageViewLoaded(ImageView imageView) {
//do what ever with your image view
}
});