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

在Flutter中如何为图片URL绑定跳转链接,点击后展示对应信息

实现步骤

要实现点击图片跳转至内部信息页的需求,按以下步骤修改代码即可:

1. 先创建草本信息详情页

这是点击图片后跳转的目标页面,可根据需求自定义展示内容,示例代码如下:

import 'package:flutter/material.dart';

class HerbDetailPage extends StatelessWidget {
  // 接收从列表页传过来的草本数据
  final Map<String, dynamic> herbData;
  const HerbDetailPage({super.key, required this.herbData});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text(herbData['name'])),
      body: Padding(
        padding: const EdgeInsets.all(16),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            if(herbData['urlImage'].isNotEmpty)
              Image.network(herbData['urlImage']),
            const SizedBox(height: 20),
            Text('植物ID:${herbData['id']}', style: const TextStyle(fontSize: 18)),
            const SizedBox(height: 10),
            Text('植物名称:${herbData['name']}', style: const TextStyle(fontSize: 18)),
            // 可自行添加更多需要展示的相关信息
          ],
        ),
      ),
    );
  }
}

2. 修改原有列表页的图片组件

给列表里的图片包裹点击交互组件,点击时触发路由跳转,你可以直接替换原有代码里ListTile的subtitle部分:
原代码的subtitle部分:

subtitle: Image.network('${_foundHerbs[index]["urlImage"]} '),

修改为:

subtitle: _foundHerbs[index]["urlImage"].isEmpty
    ? const Text('暂无图片')
    : InkWell(
        onTap: () {
          // 点击跳转至详情页,传入当前草本数据
          Navigator.push(
            context,
            MaterialPageRoute(
              builder: (context) => HerbDetailPage(herbData: _foundHerbs[index]),
            ),
          );
        },
        child: Image.network(_foundHerbs[index]["urlImage"]),
      ),
额外说明
  • 如果你需要点击整个列表项都能跳转,不需要单独给图片加点击,直接给ListTile组件加onTap属性写入上面的跳转逻辑即可
  • 代码里增加了空url判断,避免图片链接为空时出现加载错误
  • 你可以根据业务需求自行拓展HerbDetailPage的展示内容,比如加入植物介绍、种植方法等信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 06:27:02