You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在从Firebase加载数据的RecyclerView中点击打开对应URL

实现代码补全

直接替换onBindViewHolder方法内的逻辑即可,补全后代码如下:

@Override
protected void onBindViewHolder(@NonNull ViewHolder holder, int position, @NonNull BookModel model) {
    // 分享按钮逻辑
    holder.share.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String shareContent = model.getShare();
            // 空值校验避免崩溃
            if (TextUtils.isEmpty(shareContent)) {
                Toast.makeText(context, "暂无分享内容", Toast.LENGTH_SHORT).show();
                return;
            }
            Intent shareIntent = new Intent(Intent.ACTION_SEND);
            // 设置分享内容类型为纯文本
            shareIntent.setType("text/plain");
            // 填入分享内容,可自行拼接前缀文案,比如shareIntent.putExtra(Intent.EXTRA_TEXT, "推荐你看:"+shareContent);
            shareIntent.putExtra(Intent.EXTRA_TEXT, shareContent);
            // 生成系统分享选择器
            Intent chooser = Intent.createChooser(shareIntent, "选择分享应用");
            // 非Activity场景启动Activity需要添加此flag
            chooser.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(chooser);
        }
    });
    // 跳转链接按钮逻辑
    holder.visit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String visitUrl = model.getVisit();
            if (TextUtils.isEmpty(visitUrl)) {
                Toast.makeText(context, "访问链接不存在", Toast.LENGTH_SHORT).show();
                return;
            }
            Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(visitUrl));
            browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(browserIntent);
        }
    });
}

注意事项

  • 请删除Adapter中不带Context参数的构造方法,避免Context为空导致跳转/分享崩溃,初始化Adapter时必须传入上下文参数
  • 确保Firebase中存储的visit字段是完整URL,必须携带http://或https://前缀,否则浏览器无法正常识别跳转
  • 若需要限制分享到指定应用(比如仅WhatsApp、Gmail),可在分享Intent中添加对应包名过滤,无需修改的话默认会列出所有支持文本分享的应用

内容的提问来源于stack exchange,提问作者user16711150

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 15:06:04