如何实现点击recyclerview中的图片对应跳转不同界面显示对应图片

img


应该用什么方法来实现这个功能,试过各种getExtra行不通,那应该如何操作?

望采纳!点击该回答右侧的“采纳”按钮即可采纳!!!
注意:下面我使用了Glide库来加载图片,你需要先在build.gradle文件中添加依赖并同步工程。

// 在RecyclerView的Adapter中

@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
// 获取图片的URL或图片资源ID
final String imageUrl = dataList.get(position).getImageUrl();
final int imageResId = dataList.get(position).getImageResId();


// 为ImageView设置点击监听器
holder.iv_image.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        // 使用Intent启动新的Activity
        Intent intent = new Intent(context, ImageActivity.class);
        // 将图片的URL或图片资源ID作为参数传递给新的Activity
        intent.putExtra("imageUrl", imageUrl);
        intent.putExtra("imageResId", imageResId);
        context.startActivity(intent);
    }
});
}

// 在新的Activity中

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image);


// 获取图片的URL或图片资源ID
String imageUrl = getIntent().getStringExtra("imageUrl");
int imageResId = getIntent().getIntExtra("imageResId", 0);

// 加载并显示图片
ImageView iv_image = findViewById(R.id.iv_image);
if (!TextUtils.isEmpty(imageUrl)) {
    // 加载网络图片
    Glide.with(this).load(imageUrl).into(iv_image);
} else if (imageResId != 0) {
    // 加载本地图片
    Glide.with(this).load(imageResId).into(iv_image);
}
}