gpt4 book ai didi

flutter - 我如何使用 ReorderableListView,具体我在 "onReorder"中放了什么

转载 作者:IT王子 更新时间:2023-10-29 06:54:28 28 4
gpt4 key购买 nike

我需要帮助了解如何使用此小部件。现在我可以让元素可以拖动,但它们不会留在新位置。我确定这是因为我错误地使用了 onReorder,但我找不到关于如何使用的解释。我不明白或不知道它的作用,我只是不断尝试直到它至少可以编译为止。

class MainScreen extends StatefulWidget {

@override
MainScreenState createState() => new MainScreenState();
}

class MainScreenState extends State<MainScreen> {
Widget build(context) {
final List<Widget> reorderList = <Widget>[
Container(key: Key('1'), child: Icon(Icons.ac_unit),),
Container(key: Key('2'), child: Icon(Icons.access_alarm),),
Container(key: Key('3'), child: Icon(Icons.access_time),),
Container(key: Key('4'), child: Icon(Icons.accessibility),),
Container(key: Key('5'), child: Icon(Icons.account_box),),
Container(key: Key('6'), child: Icon(Icons.account_balance),),
];


return Scaffold(
appBar: AppBar(
title: Text('test'),
actions: <Widget>[
IconButton(
icon: Icon(Icons.refresh),
onPressed: () {
setState(() {});
},
)
],
),
drawer: Drawer(child: SideDrawer(context)),
body: ReorderableListView(
onReorder: (reorderList, reorderlist) => reorderList ,
children: reorderList,

));
}
}

为了完整起见,引导至此处的页面如下:

class App extends StatelessWidget {
build(context) {
return Provider(
child: MaterialApp(

theme: themeData,
title: '',
home: MainScreen(),
onGenerateRoute: routes,

),
);
}

非常感谢任何帮助,我不明白the Documentation for ReorderableListView所以请不要只将我链接到那里。

非常感谢您的帮助,我们将不胜感激。

最佳答案

Everything you need is here .具体来说:

  void _onReorder(int oldIndex, int newIndex) {
setState(() {
if (newIndex > oldIndex) {
newIndex -= 1;
}
final Container item = reorderList.removeAt(oldIndex);
reorderList.insert(newIndex, item);
});
}

并将其插入为:

...
reOrder: _onReorder
...

关于flutter - 我如何使用 ReorderableListView,具体我在 "onReorder"中放了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53176432/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com