我正在从firestore获取数据,并希望使用地图打印输出,但出现错误
type 'List<Widget>' is not a subtype of type 'Widget'
我的代码是这样的:
return SingleChildScrollView(
child: snapshot.data.documents[i].data['comments']
.map<Widget>((values) => Text(values
当我试图构建我的应用程序时,我会遇到这个错误。
Error: A value of type 'bool?' can't be assigned to a variable of type 'bool' because 'bool?' is nullable and 'bool' isn't.
(childView.primary ? PrimaryScrollController.of(context) : null);
^
以下是我的完整代
在这段代码中,我可以删除.toList()并获得相同的输出。为什么它是可选的?
(我的理论是因为扩展运算符会将输出转换为列表,所以.toList不会对字符串执行anything...like调用.toString。)
如果我删除扩展运算符并保留.toList(),我会得到错误"type List<dynamic> is not a subtype of type Widget"。
(这使我的理论无效,扩散运算符和.toList具有相同的效果)
我读到前面提到的错误是由于类型推断,并看到建议将<Widget>紧跟在.map后面,如下所示:snapshot.
我一直在阅读像这样的文章,解释如何更喜欢写作而不是继承。虽然我部分理解为什么,但我怀疑在这种实践变得冗长的场景中应该做什么。另外,在Flutter的内部代码中,所有的内置组件都是继承的。所以从哲学上讲,一定会有好的情况发生。
考虑一下这个例子(基于我制作的一个真实的Widget ):
class MyFadingAnimation extends StatefulWidget {
final bool activated;
final Duration duration;
final Curve curve;
final Offset transformOffs
我得到了这样的结论:
java.lang.ClassCastException: android.view.ViewGroup$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
at android.widget.ListView.setupChild(ListView.java:1806)
at android.widget.ListView.makeAndAddView(ListView.java:1775)
at android.widget.ListView.fillDown(ListView.
我在做一个项目,得到了一个错误:
Fatal Exception: com.google.firebase.database.DatabaseException: Can't convert object of type java.lang.String to type com.example.codechat.InstantMessage
at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.convertBean(CustomClassMapper.java:436)
作为一项经验,我在vala中扩展了Gtk.HeaderBar类,以便有一个按钮而不是标题/字幕标签:
using Gtk;
public class WebBrowserHeaderBar : HeaderBar {
private Button title_widget;
public WebBrowserHeaderBar(){
this.show_close_button = true;
title_widget = new Button.with_label("title");
this.set_