我一直在寻找一种方法来永久将选定的项目快速移动到ListView的顶部。
这可以通过按下iconbutton
元素旁边的ListView
,并使该元素移到refresh
的顶部来实现。
如果可能的话,我希望图标按钮在启用时变为enabled
(即发光/点亮),而在禁用时变为disabled
(变灰,但仍可以按下)。
我无法满足我在此问题中的所有代码,因此,所有相关内容以及_getListItemUi
都可以在以下网址获得:https://github.com/Jak3-02/myproject2
这是我当前的ListView的样子:
Widget _cryptoWidget() {
return new Container(
child: new Column(
children: <Widget>[
new Flexible(
child: new ListView.builder(
itemCount: _currencies.length,
itemBuilder: (BuildContext context, int index) {
final int i = index ~/ 2;
final Crypto currency = _currencies[i];
final MaterialColor color = _colors[i % _colors.length];
if (index.isOdd) {
return new Divider();
}
return _getListItemUi(currency, color);
},
),
),
],
)
);
}
谢谢,所有想法都值得赞赏。 :)
答案 0 :(得分:2)
这听起来很像一个课堂项目,所以我将为您指出正确的方向,以便自己解决这个问题。
在代码中注意项目生成器。它读取_currencies列表并构建相应的窗口小部件。 如果您{_3}}使用_currencies并再次运行此代码会发生什么?
当_cryptoWidget的_currencies列表更改时,您将如何重绘_cryptoWidget? 您将使用有状态小部件还是无状态小部件?
当数据更改时,其中哪一个会重绘?您想要一个可点击的图标,该图标在启用和禁用时看起来会有所不同。 您看过rearranged the items吗?
有了这些注释,您应该可以轻松解决此问题。