iOS ユーザーが List をスクロールして通貨の価格を確認するために CupertinoWidget を使用しています。ただし、スクロールが発生すると、onSelectedItemChangedはリストのすべての値に対してコールバックを API に送信します。ドキュメントを読みましたが、何をすべきかわかりません。例があれば幸いです。
ドキュメントでは、CupertinoPicker > onSelectedItemChanged プロパティとして言及されています
これは、スクロール中および弾道フリング中に呼び出すことができます。スクロールが安定したときにのみ値を取得するには、NotificationListener を使用し、ScrollEndNotification をリッスンして、その FixedExtentMetrics を読み取ります。
NotificationListener cupertinoPickerList() {
List<Text> textWidgetList = [];
for (String curreny in currenciesList) {
textWidgetList.add(
Text(
curreny,
style: TextStyle(
color: Colors.white,
),
),
);
}
return NotificationListener<ScrollNotification>(
onNotification: (scrollNotification) {
if (scrollNotification is ScrollEndNotification) {
return true;
} else {
return false;
}
},
child: CupertinoPicker(
itemExtent: 30,
scrollController: FixedExtentScrollController(initialItem: 19),
onSelectedItemChanged: (selectedIndex) {
selectedCurreny = currenciesList[selectedIndex];
updateUI(selectedCurreny);
print(selectedCurreny);
},
children: textWidgetList,
),
);
}