我正在研究reorderablelist库。我将使用Futurebuilder中的recordablelist稍后从服务器获取数据,并将其显示在屏幕上。但是每次我按可读列表时,都会重新启用“将来”功能,并且该操作无法正常工作。
它是通过更改Futurebuilder的位置来构建的,但是没有用。
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Reorderable List'),
actions: <Widget>[
PopupMenuButton<DraggingMode>(
child: Container(
alignment: Alignment.center,
padding: const EdgeInsets.symmetric(horizontal: 30.0),
child: Text("Options"),
),
initialValue: _draggingMode,
onSelected: (DraggingMode mode) {
setState(() {
_draggingMode = mode;
});
},
itemBuilder: (BuildContext context) =>
<PopupMenuItem<DraggingMode>>[
const PopupMenuItem<DraggingMode>(
value: DraggingMode.iOS,
child: Text('iOS-like dragging')),
const PopupMenuItem<DraggingMode>(
value: DraggingMode.Android,
child: Text('Android-like dragging')),
],
),
],
),
body: FutureBuilder(
future: fetchList(),
builder: (context, snapshot) {
print('Future Builder');
return ReorderableList(
onReorder: this._reorderCallback,
onReorderDone: this._reorderDone,
child: ListView.builder(
itemCount: _items.length,
itemBuilder: (context, index) {
return Item(
data: _items[index],
isFirst: index == 0,
isLast: index == _items.length - 1,
draggingMode: _draggingMode,
);
},
),
);
},
),
);
}
Future<void> fetchList() async {
_items = List();
for (int i = 0; i < 50; ++i) {
String label = "List item $i 2222";
_items.add(ItemData(label, ValueKey(i)));
print(i);
}
print('Future');
}
}
我想使用Futurebuilder实现可记录列表,以从服务器检索数据。或者,如果我不知道,或者有什么新方法,请告诉我。我不是英语开发者,所以请理解尴尬。