У меня есть горизонтальное ListView
в моем приложении, оно загружает данные из Firebase Cloud Firestore. Каждый элемент имеет свой уникальный идентификатор. То, что я хочу сделать, это когда пользователь прокручивает, я хочу обновить документ Firestore с фокусом на id
из ListView
элемента. Есть ли способ сделать это?
Примечание: - Я попытался использовать ScrollController
и добавить к нему слушателя. Когда я делаю это, либо документ никогда не обновляется, либо происходит большая задержка до 5 секунд. Код, который я попробовал ниже: -
class HomeTabState extends State<HomeTab> with SingleTickerProviderStateMixin {
ScrollController _scrollController;
@override
void initState() {
super.initState();
_scrollController = ScrollController();
_scrollController.addListener(updateSelectedApp);
}
void updateSelectedApp() {
var value = _scrollController.offset.round();
var appIndex = (value / 200).round();
Firestore.instance.collection("status").document(this.widget.user.uid).setData({
"appsSection": {
"isActive": true,
"selectedAppId": this.widget.apps[appIndex].id,
}
}, merge: true);
}
...
}