Java 如何访问适配器中定义的imageview?

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

我在Android中的Recyclerview的Adapter on View holder中定义了一个imageview。我想将该imageview访问到我的活动中,以便以编程方式设置图像。我如何才能做到这一点?

假设您有一个Adapter ImageRecyclerAdapter类:

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
        }
    });