简体   繁体   English

在项目上,单击“回收者”视图的侦听器以显示图像

[英]On item Click Listener of Recycler view to show Image

I got images from my server in a list using RecyclerView . 我使用RecyclerView在列表中从服务器获取图像。 When I click on one of the items in RecyclerView , I want the image in that item to open a new activity. 当我单击RecyclerView一个项目时,我希望该项目中的图像打开一个新活动。 How can I get that image? 如何获得该图像? Thanks in Advance. 提前致谢。

RecyclerViewAdapter.java RecyclerViewAdapter.java

public RecyclerViewAdapter(List<GetDataAdapter> getDataAdapter, Context context) {

        super();
        this.getDataAdapter = getDataAdapter;
        this.context = context;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview_items, parent, false);

        ViewHolder viewHolder = new ViewHolder(v,context,getDataAdapter);

        return viewHolder;
    }

    @Override
    public void onBindViewHolder(ViewHolder Viewholder, int position) {

        GetDataAdapter getDataAdapter1 = getDataAdapter.get(position);

        imageLoader1 = ServerImageParseAdapter.getInstance(context).getImageLoader();

        imageLoader1.get(getDataAdapter1.getImageServerUrl(),
                ImageLoader.getImageListener(
                        Viewholder.networkImageView,//Server Image
                        R.mipmap.ic_launcher,//Before loading server image the default showing image.
                        android.R.drawable.ic_dialog_alert //Error image if requested image dose not found on server.
                )
        );


      Viewholder.networkImageView.setImageUrl(getDataAdapter1.getImageServerUrl(), imageLoader1);
        Viewholder.ImageTitleNameView.setText(getDataAdapter1.getImageTitleName());

    }

    @Override
    public int getItemCount() {

        return getDataAdapter.size();
    }

  //  public static
    class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

      public TextView ImageTitleNameView;
     public NetworkImageView networkImageView;

    List<GetDataAdapter> getDataAdapter ;//= new List<GetDataAdapter>();
        Context context;

        public ViewHolder(View itemView,Context context,List<GetDataAdapter> getDataAdapter) {

            super(itemView);
            this.getDataAdapter=getDataAdapter;
            this.context=context;
            itemView.setOnClickListener(this);

            ImageTitleNameView = (TextView) itemView.findViewById(R.id.textView_item);

           // networkImageView = (NetworkImageView) itemView.findViewById(R.id.VollyNetworkImageView1);
            networkImageView = (NetworkImageView) itemView.findViewById(R.id.VollyNetworkImageView1);

        }
 @Override
        public void onClick(View v) {
            int position = getAdapterPosition();
            GetDataAdapter getDataAdapters=this.getDataAdapter.get(position);
            Intent intent=new Intent(this.context,SecondPage.class);
            intent.putExtra("image_title",getDataAdapters.getImageTitleName());
            intent.putExtra("image_url",getDataAdapters.getImageServerUrl());
            this.context.startActivity(intent);

        }
    }
}

SecondPage.java SecondPage.java

 imageView=(ImageView)findViewById(R.id.imge);

    Intent i = getIntent();

      int resid =i.getIntExtra("image_url", 0);

     imageView.setImageResource(Integer.parseInt("image_url"+getIntent().getStringExtra("image_url")));

    imageView.setImageResource(resid);

If your images are stored in an ArrayList, pass the position of the RecyclerView element via intent and set the src of the ImageView in your SecondPage.java as: 如果您的图像存储在一个ArrayList,通过意图传递RecyclerView元素的位置,并设置src的ImageView的在你的SecondPage.java为:

OnClick : OnClick

myIntent.putExtra("imageIndex", position);

SecondPage.java SecondPage.java

imageView=(ImageView)findViewById(R.id.imge);

Intent i = getIntent();

int imgIndex = i.getIntExtra("imageIndex", 0);

imageView.setImageResource(ArrayList.get(imgIndex));

In case, you are passing an ImageUrl via intent use Picasso to diaplay an image in ImageView as: 如果您通过意图传递ImageUrl,请使用Picasso在ImageView中以如下方式显示图像:

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);

Make sure you add the Picasso library to your project gradle: 确保将Picasso库添加到项目gradle:

compile 'com.squareup.picasso:picasso:2.5.2'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 单击回收者视图中的项目后,在回收者视图中显示子项目 - Show a sub item on the recycler view after click on an item in the recycler view Recycler视图单击Listener - Recycler view Click Listener 在回收站视图中单击项目时显示按钮 - Show buttons when item is click in recycler view 项目单击以进入回收站视图 - item click for recycler view 回收者视图的项目触摸侦听器 - Item touch listener for recycler view 在项目单击侦听器中以“图像列表”视图滑动 - Swipe with Image list view in on item click listener 当我单击另一个recyclerview中的项目时如何显示回收者视图 - How to show recycler view when i click an item in another recyclerview 在Grid视图ANdroid的Click侦听器上显示图像 - Show image on Click listener of Grid view ANdroid 在项目上单击RecyclerView的监听器 - 如何在回收站视图中使用项目的位置来平滑滚动到另一个列表视图? - On Item Click Listener for RecyclerView - How can I use the position of an item in a recycler view to smoothscroll to another listview? 如果我在回收器视图中有数千个项目,那么如何在每个项目上设置项目点击侦听器 - If I Have thousands of items inside the recycler view then How can I set the item click listener on each item
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM