+ /**
+ * @brief Set whether to enable automatic refresh or not. When refresh is disabled,
+ * ItemView will not automatically refresh the cache in the given interval when the
+ * layout position is changed. This is useful in some cases, for example, automatic
+ * refresh is not needed during fast scrolling, otherwise it will cache unneeded
+ * items when the layout position changes quickly.
+ *
+ * @param[in] enabled True to enable automatic refresh or false to disable it.
+ */
+ void SetRefreshEnabled(bool enabled);
+
+ /**
+ * @brief Helper to perform the refresh.
+ *
+ * @param[in] currentLayoutPosition The current layout position.
+ * @param[in] cacheExtra Whether to cache extra items during refresh.
+ */
+ void DoRefresh(float currentLayoutPosition, bool cacheExtra);
+