【问题标题】:I get stack overflow error in my flutter application我的 flutter 应用程序出现堆栈溢出错误
【发布时间】:2023-02-15 12:49:41
【问题描述】:
  1. 我试图通过在不同的小部件之间使用提供程序来传递数据,但是我在流程上遇到错误堆栈并且代码看起来不错?。

     '''
    
     Expanded(
                 child: ListView.builder(
                   itemCount: items.itemsProvide.length,
                   itemBuilder: (ctx, i) => CartItemsDw(
                       items.itemsProvide.values.toList()[i].id,
                       items.itemsProvide.values.toList()[i].title,
                       items.itemsProvide.values.toList()[i].price,
                       items.itemsProvide.values.toList()[i].quatity),
                 ),
               )
    
    '''
    
  2. 我尝试将我的数据传递给下面的另一个小部件,当尝试访问该小部件的数据时出现错误

    '''

     import 'package:flutter/material.dart';
     class CartItemsDw extends StatelessWidget {
       final String id;
       final String title;
       final double price;
       final int quantity;
       CartItemsDw( this.id,this.title,this.price, this.quantity);
       Widget build(BuildContext context) {
         return Card(
           margin: EdgeInsets.symmetric(horizontal: 10,vertical: 4),
           child: Padding(padding: EdgeInsets.all(8),
           child: ListTile(leading: CircleAvatar(child: Text('\$$price'),),
           title: Text(title),
           subtitle: Text('total \$${(price*quantity)}'),
           trailing: Text('\$$quantity x'),
           ),  
          ),
         );
       }
     }
    
    
    '''
    

【问题讨论】:

  • 你到底得到了什么错误

标签: flutter stack-overflow


【解决方案1】:

请记住,Listview.builder 是可自动扩展和滚动的。 只需从列表外部删除 Expanded wrapping 即可。

 ListView.builder(
               itemCount: items.itemsProvide.length,
               itemBuilder: (ctx, i) => CartItemsDw(
                   items.itemsProvide.values.toList()[i].id,
                   items.itemsProvide.values.toList()[i].title,
                   items.itemsProvide.values.toList()[i].price,
                   items.itemsProvide.values.toList()[i].quatity),
             );

【讨论】:

  • 谢谢!开心就好。您可以认为已接受!如果有人遇到同样的问题,他将从上述答案中得到帮助。
【解决方案2】:

什么地方出了错: 任务 ':app:compileFlutterBuildDebug' 执行失败。

进程 'command 'C:src.3.10inlutter.bat'' 以非零退出值 1 完成

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-12
    • 2014-04-12
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    相关资源
    最近更新 更多