m0_74106684 2022-12-26 22:45 采纳率: 71.4%
浏览 13
已结题

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

img


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

  • 写回答

1条回答 默认 最新

  • heart_6662 2022-12-27 09:42
    关注

    望采纳!点击该回答右侧的“采纳”按钮即可采纳!!!
    注意:下面我使用了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);
    }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月4日
  • 已采纳回答 12月27日
  • 创建了问题 12月26日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分