Flutter跨文件调用类失败:点击按钮跳转页面失效问题
Flutter 跨文件页面跳转失效问题解决
当你把ScreenB类移到单独文件后点击按钮跳转失效,大概率是以下两个原因之一:
1. 未正确导入ScreenB所在文件
主页面文件必须导入包含ScreenB的dart文件,否则代码无法识别这个类。
假设ScreenB所在文件路径是lib/screen_b.dart,在主页面文件顶部添加导入语句:
import 'screen_b.dart';
如果文件在子目录(比如lib/screens/screen_b.dart),则导入路径要对应:
import 'package:你的项目名/screens/screen_b.dart';
2. ScreenB的build方法返回空组件
你当前的ScreenB返回的是SizedBox.shrink(),这是一个完全不可见的空组件,即使跳转成功,页面也不会有任何变化,容易误以为功能失效。修改ScreenB的build方法为正常页面结构:
class _ScreenBState extends State<ScreenB> { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('Screen B')), body: const Center( child: Text('已跳转到Screen B'), ), ); } }
按以上步骤检查后,跨文件页面跳转功能就能正常工作了。
内容的提问来源于stack exchange,提问作者GeorgeP
相关产品推荐
相关产品推荐

