微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何消除在颤振中运行的范围错误?

如何解决如何消除在颤振中运行的范围错误?

我创建了一个字符串列表并应用了一个复选框,当单击该复选框时,字符串列表将显示在下一个屏幕上,但出现范围错误。请帮忙。

var _suggestions = <String>['this is me1','this is me2','this is me3' ];
final _saved = <String>['this is me1','this is me3' ];
final _biggerFont = TextStyle(fontSize: 18.0);

这是我定义的字符串。

void _pushSaved(){
Navigator.of(context).push(
  MaterialPageRoute<void>(
    // NEW lines from here...
    builder: (BuildContext context) {
      final tiles = _saved.map(
            (String pair) {
          return ListTile(
            title: Text(
              pair,style: _biggerFont,),);
        },);
      final divided = ListTile.divideTiles(
        context: context,tiles: tiles,).toList();

      return Scaffold(
        appBar: AppBar(
          title: Text('Saved Suggestions'),body: ListView(children: divided),);
    },// ...to here.
  ),);
}

这是一些页面路由

 Widget _buildSuggestions() {
return ListView.builder(
    padding: EdgeInsets.all(16.0),itemBuilder: /*1*/ (context,i) {
      if (i.isOdd) return Divider(); /*2*/
      final index = i ~/ 2; /*3*/
      _suggestions = <String>['this is me1','this is me3'];
     
      return _buildrow(_suggestions[index]);
    });
    }

在下一个屏幕中显示选中的复选框数据没有问题,但我不知道为什么显示范围错误

Widget _buildrow(String pair) {
final alreadySaved = _saved.contains(pair);
return Container(
  decoration: new Boxdecoration (
      color: HexColor('#F2FFFF'),border: Border.all(color: HexColor('#09B9B6')),borderRadius: BorderRadius.all(Radius.circular(20)),child: ListTile(
    title: Text(
      pair,trailing: Icon(
      alreadySaved ? Icons.check_Box : Icons.check_Box_outline_blank_outlined,color: alreadySaved ? HexColor('#09B9B6') :null,onTap: (){
      setState(() {
        if (alreadySaved){
          _saved.remove(pair);
        }
        else{
          _saved.add(pair);
        }
      });
    },);
  }

这是构建行函数

解决方法

我们也可以使用 ListView.separated

ListView.separated(
padding: EdgeInsets.all(16.0),itemBuilder: (context,index) {
  return _buildRow(_suggestions[index]);
},separatorBuilder: (_,__) => Divider(),itemCount: _suggestions.length);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?