3

我正在扩展 flutter_gallery 示例。

我尝试创建新的画廊项目

new GalleryItem(
  title: 'Journal',
  subtitle: 'Example app coding',
  category: 'Apps',
  routeName: JournalDemo.routeName,
  buildRoute: (BuildContext context) => new JournalDemo()
),

我进口了import '../journal/journal_all.dart';

里面我有export 'journal_demo.dart';

JournalDemo类是同一个类ListDemo,我只改变了类名和状态名:

class JournalDemo extends StatefulWidget {
  JournalDemo({ Key key }) : super(key: key);

  static const String routeName = '/journal';

  @override
  JournalDemoState createState() => new JournalDemoState();
} 

class JournalDemoState extends State<JournalDemo> {
 .......

这是我得到的例外

I/flutter : ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ I/flutter : The following NoSuchMethodError was thrown building GalleryApp(dirty; state: I/flutter : GalleryAppState(48280642)): I/flutter : No top-level getter 'JournalDemo' declared. I/flutter : NoSuchMethodError: method not found: 'JournalDemo' I/flutter : Receiver: top-level I/flutter : Arguments: [...] I/flutter : When the exception was thrown, this was the stack: I/flutter : #0 NoSuchMethodError._throwNew (dart:core-patch/errors_patch.dart:184) I/flutter : #1 kAllGalleryItems (/Users/matej/IdeaProjects/flutter/journal/lib/gallery/item.dart:51) I/flutter : #2 kAllGalleryItems (/Users/matej/IdeaProjects/flutter/journal/lib/gallery/item.dart:45)

我应该改变什么?

谢谢

4

1 回答 1

3

这看起来像您的代码中缺少导入或解析错误。我建议您flutter analyze按照上述海报之一的建议进行检查。

No top-level getter 'JournalDemo' declared意味着它无法JournalDemo在全局范围内找到值。要么是因为它没有被导入,要么是因为在这个错误之前有一个解析错误。

于 2017-04-13T04:45:56.597 回答