【Flutter】The PrimaryScrollController is currently attached to more than one ScrollPosition.

Flutter

Flutterでスマホアプリ開発中に、ListViewにスクロールバーを表示したくなり、Scrollbarでラップしました。すると、次のようなエラーが発生しました。

The PrimaryScrollController is currently attached to more than one ScrollPosition.

実行したソースコードは以下の通りです。

Scrollbar(
  thumbVisibility: true,
  controller: _myController,
  child: ListView.builder(
    controller: _myController,
    itemCount: 100,
    itemBuilder: (context, index) {
      return ListTile(title: Text('Item $index'));
    },
  ),
)

解決方法

ScrollbarとListView.builderのcontrollerに、同じScrollControllerを設定することで解決します。

final _myContoller = ScrollController(); // 追加

Scrollbar(
  thumbVisibility: true,
  controller: _myController, // 追加
  child: ListView.builder(
    controller: _myController, // 追加
    itemCount: 10,
    itemBuilder: (context, index) {
      return ListTile(title: Text('Item $index'));
    },
  ),
)

タイトルとURLをコピーしました