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'));
},
),
)