【发布时间】:2021-05-13 21:53:35
【问题描述】:
我的代码有问题...我不知道如何解决这个问题。我想做一个 reoderableList 但每次我拖放一个任务时,ios 模拟中的空洞任务都会变成一个任务,并且颤振给了我这个错误消息。
flutter:抛出了另一个异常:RenderPointerListener 对象在布局期间被赋予了无限大小。
import 'package:flutter/material.dart';
import 'package:todoapp/models/classes/task.dart';
import 'package:todoapp/models/global.dart';
import 'package:todoapp/models/widgets/intray_todo_widget.dart';
class IntrayPage extends StatefulWidget {
@override
_IntrayPageState createState() => _IntrayPageState();
}
class _IntrayPageState extends State<IntrayPage> {
List<Task> taskList = [];
@override
Widget build(BuildContext context) {
taskList = getList();
return Container(
color: darkGreyColor,
child: _buildReorderableListSimple(context),
// child: ReorderableListView(
// padding: EdgeInsets.only(top: 300),
// children: todoItems,
// onReorder: _onReorder,
// ),
);
}
Widget _buildListTile(BuildContext context, Task item) {
return ListTile(
key: Key(item.taskId),
title: IntrayTodo(
title: item.title,
),
);
}
Widget _buildReorderableListSimple(BuildContext context) {
return Theme(
data: ThemeData(canvasColor: Colors.transparent),
child: ReorderableListView(
// handleSide: ReorderableListSimpleSide.Right,
// handleIcon: Icon(Icons.access_alarm),
padding: EdgeInsets.only(top: 300.0),
children:
taskList.map((Task item) => _buildListTile(context, item)).toList(),
onReorder: (oldIndex, newIndex) {
setState(() {
Task item = taskList[oldIndex];
taskList.remove(item);
taskList.insert(newIndex, item);
});
},
),
);
}
void _onReorder(int oldIndex, int newIndex) {
setState(() {
if (newIndex > oldIndex) {
newIndex -= 1;
}
final Task item = taskList.removeAt(oldIndex);
taskList.insert(newIndex, item);
});
}
List<Task> getList() {
for (int i = 0; i < 10; i++) {
taskList.add(Task("My first todo " + i.toString(), false, i.toString()));
}
return taskList;
}
}
【问题讨论】:
标签: flutter dart layout flutter-layout