簡體   English   中英

Flutter-所選項目移至ListView的頂部

[英]Flutter - Selected items move to top of ListView

我一直在尋找一種方法,可以將選定的項目永久地移動到列表視圖的頂部。

這可以通過按下ListView元素旁邊的iconbutton並使該元素在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);
                },
              ),
            ),
          ],
        )
      );
  }

謝謝,所有的想法都表示贊賞。 :)

這聽起來很像一個課堂項目,所以我將為您指出正確的方向,以便自己解決這個問題。

注意代碼中的項目生成器。 它讀取_currencies列表並構建相應的窗口小部件。 如果您重新排列 _currencies中的項目並再次運行此代碼,將會發生什么?

當_cryptoWidget的_currencies列表更改時,您將如何重繪_cryptoWidget? 您將使用有狀態小部件還是無狀態小部件? 當數據更改時,其中哪一個會重繪?

您需要一個可點擊的圖標,該圖標在啟用和禁用時看起來會有所不同。 您是否已查看Widget Catalog

有了這些說明,您應該可以輕松解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM