Java 回收者查看图像不是';t单击以打开新页面

Java 回收者查看图像不是';t单击以打开新页面,java,android,flickr,Java,Android,Flickr,我试图让RecyclerView中的每个图像都可以点击打开照片,以及照片的标题和描述,但所有这些信息都来自Flickr,我添加了我认为合适的代码,但它似乎不起作用,因为没有图像可以点击,非常感谢您提供有关如何解决此问题的任何指导 在details类中使用一个简单的findByViewId()方法就足够了,还是我缺少了更多的方法?就像我说的,任何帮助都是感激的 谢谢大家! ImageListAdapter类 import android.content.Context; import androi

我试图让RecyclerView中的每个图像都可以点击打开照片,以及照片的标题和描述,但所有这些信息都来自Flickr,我添加了我认为合适的代码,但它似乎不起作用,因为没有图像可以点击,非常感谢您提供有关如何解决此问题的任何指导

在details类中使用一个简单的findByViewId()方法就足够了,还是我缺少了更多的方法?就像我说的,任何帮助都是感激的

谢谢大家!

ImageListAdapter类

import android.content.Context;
import android.content.Intent;
 import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.android.volley.toolbox.NetworkImageView;

import java.util.ArrayList;

 /**
 * Created by Adam on 22/12/2017.
 */

public class ImageListAdapter
    extends RecyclerView.Adapter<ImageListAdapter.ViewHolder> {
private NetworkImageView imageThumbnail;

public class ViewHolder extends RecyclerView.ViewHolder {
    public TextView  imageTitle;
    public NetworkImageView mainImage;


    public ViewHolder(View itemView) {
        super(itemView);
        imageTitle = (TextView) itemView.findViewById(R.id.imageTitle);
        mainImage = (NetworkImageView) 
 itemView.findViewById(R.id.mainImage);
    }
    private View.OnClickListener itemClicked = new View.OnClickListener() {
        int position = ViewHolder.this.getLayoutPosition();
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(v.getContext(), 
 DetailsActivity.class);

              intent.putExtra("PHOTO_POSITION", position);
             imageThumbnail.setOnClickListener(itemClicked);

            itemView.getContext().startActivity(intent);
        }
    };
}
//Data Source
public ArrayList<ImageInfo> imageList = new ArrayList<ImageInfo>();

// context
private Context context;

public ImageListAdapter(Context context) {
    this.context = context;
}

@Override
public int getItemCount() {
    return imageList.size();
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    //Create the view for the cell in the list
    View v = LayoutInflater.from(context).inflate(R.layout.cell_image_card, parent, false);

    ImageListAdapter.ViewHolder vh = new ImageListAdapter.ViewHolder(v);
    return vh;
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    ImageInfo imageInfo = imageList.get(position);


    holder.imageTitle.setText(imageInfo.title);
    holder.mainImage.setImageUrl(imageInfo.url_m, 
NetworkMgr.getInstance(context).imageLoader);
 //   holder.mainImage.setImageResource(imageInfo.imageResource);

}


}

您只是忘记在mainImage视图上设置onClick侦听器

步骤1:在mainImage上设置单击侦听器

   public ViewHolder(View itemView) {
        super(itemView);
        final Context mContext = itemView.getContext();
        final int position = getAdapterPosition();
        imageTitle = (TextView) itemView.findViewById(R.id.imageTitle);
        mainImage = (NetworkImageView) 
        itemView.findViewById(R.id.mainImage);
        mainImage.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          Intent intent = new Intent(mContext, DetailsActivity.class);
          intent.putExtra("PHOTO_POSITION", position);
          mContext.startActivity(intent);
          }
       });
    }
第二步:在细节活动中获得这样的职位

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_details);
    Intent intent = getIntent();
    int position = intent.getIntExtra("PHOTO_POSITION", 0);
    ImageInfo imageInfo = NetworkMgr.getInstance(this).imageList.get(position);
    //use image info to get the image and title details.

}

添加imageTitle=(TextView)itemView.findViewById(R.id.imageTitle);mainImage=(NetworkImageView)@StringForever我会在ViewHolder(View itemView)的DetailsActivity?中添加此选项吗
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_details);
    Intent intent = getIntent();
    int position = intent.getIntExtra("PHOTO_POSITION", 0);
    ImageInfo imageInfo = NetworkMgr.getInstance(this).imageList.get(position);
    //use image info to get the image and title details.

}