NoSuchMethodError:nul 上的无效成员:“_set”

Posted

技术标签:

【中文标题】NoSuchMethodError:nul 上的无效成员:“_set”【英文标题】:NoSuchMethodError: invalid member on nul: "_set" 【发布时间】:2021-05-06 09:35:33 【问题描述】:

我是新来的颤振。 我正在尝试制作 Listview 文本字段的总计。 但是当在 ItemBuilder 下方插入行时

t1[index] = TextEditingController();

它抛出错误 但当。我已经声明了列表 T1 的变量 为此。请解决 ListView 中的文本字段总数。

附上示例代码。 提前致谢。


import 'package:flutter/material.dart';

void main() 
  runApp(MyApp());


class MyApp extends StatelessWidget 
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) 
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  


class MyHomePage extends StatefulWidget 
  @override
  _MyHomePageState createState() => _MyHomePageState();


class _MyHomePageState extends State<MyHomePage> 
  List data = ["apple kg", "banana kg", "mango kg"];
  List<TextEditingController> t1;

  @override
  Widget build(BuildContext context) 
    return Scaffold(
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Container(
            width: 400,
            height: 300,
            child: ListView.builder(
              itemCount: data.length,
              itemBuilder: (context, index) 
                t1[index] = TextEditingController();
                return Container(
                  width: 300,
                  decoration: BoxDecoration(
                    border: Border.all(color: Colors.blue, width: 0.5),
                  ),
                  child: Column(
                    children: [
                      Text(data[index]),
                      TextField(),
                    ],
                  ),
                );
              ,
            ),
          ),
          Text("TOTAL SALE"),
        ],
      ),
    );
  


【问题讨论】:

【参考方案1】:

在声明中:

  List<TextEditingController> t1=[];

ListView.builder 中将t1[index] = TextEditingController(); 更改为

  if(index<ti.length)
     t1[index] = TextEditingController();
  else
     t1.add(TextEditingController());
  

原因是你声明了一个空列表,并且列表中没有元素,你尝试将TextEditingController设置为null。

【讨论】:

对不起,我的错。

以上是关于NoSuchMethodError:nul 上的无效成员:“_set”的主要内容,如果未能解决你的问题,请参考以下文章

NoSuchMethodError:null 上的无效成员:'_get'

地图上的 NoSuchMethodError(Spark Scala 类)

Apache Beam,BigQueryIO.WriteTableRows() 上的 NoSuchMethodError?

LocationAwareLogger 上的 SLF4J NoSuchMethodError

ExecutionStrategy 构造方法上的异常 java.lang.NoSuchMethodError

NoSuchMethodError:null 上的无效成员:'toList'(Flutter Web)_MapStream<QuerySnapshot 引发了异常