【发布时间】:2022-11-17 23:41:53
【问题描述】:
我正在使用编辑按钮构建配置文件,我正在使用列表视图显示来自 firebase 的所有数据。但是当我想制作那个编辑按钮并导航到编辑页面时,它并没有很好地工作,因为英雄错误或类似错误。我在谷歌上搜索了如何在他们刚刚说的任何地方修复它:在 Hero 小部件中重构它并提供自定义标签:'tagImage$index' 或 flutter floatingactionbutton,他们只提供 heroTag:“btn1”,
嗯..对此有什么建议吗?也许我不应该使用列表视图?要不然?
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:skolae2_project/page/auth_page.dart';
import 'package:skolae2_project/page/edit_profile_screen.dart';
class Profile extends StatefulWidget {
const Profile({super.key});
@override
State<Profile> createState() => _ProfileState();
}
class _ProfileState extends State<Profile> {
final icon = CupertinoIcons.settings;
@override
Widget build(BuildContext context) {
// ignore: prefer_const_declarations
return Scaffold(
appBar: AppBar(
leading: const BackButton(color: Colors.black),
backgroundColor: Colors.transparent,
elevation: 0,
title: const Text(
'Profile',
style: TextStyle(color: Colors.black),
),
actions: [
IconButton(
icon: const Icon(Icons.settings),
color: Colors.black,
onPressed: () {
logOut(context);
},
)
],
),
body: ListView(
physics: const BouncingScrollPhysics(),
children: [
const SizedBox(
height: 15,
),
Center(
child: ElevatedButton(
child: const Text(
"Edit your profile",
),
onPressed: () {
Navigator.of(context, rootNavigator: true).pushAndRemoveUntil(
MaterialPageRoute(
builder: (BuildContext context) {
return EditProfilePage();
},
),
(route) => false,
);
},
),
),
const SizedBox(
height: 15,
),
],
),
);
}
}
【问题讨论】:
-
你能检查重新检查放置的标签是否已被使用。另外
contentButton和buildAbout在这里不可见,尝试评论它们然后运行 -
@YeasinSheikh 我根本没有使用任何标签,那个类我已经更改了代码希望你能检查它..
-
@YeasinSheikh 我试着在没有 contentButton 和 buildAbout 的情况下运行它,但它得到了同样的错误
-
您能否简化将重现相同错误的小部件
-
@YeasinSheikh 是的,我用最简单的方法再次更新代码,错误来自 MaterialPageRoute 将页面更改为 EditProfilePage()