使用android分页库使页面无效

使用android分页库使页面无效,android,android-architecture-components,android-paging,Android,Android Architecture Components,Android Paging,我正在使用alpha5中的pagin库。 我的问题是,我想使用android分页库加载的列表经常被更改。比如每分钟几次。当我向下滚动并加载第1、2、3页(我使用的是位置数据源)时,可能会出现第1页在向下滚动时无效的情况 试着想象第1页由于某种原因变得无效,用户在第5页(与第1页不在同一屏幕上),现在他再次滚动到第1页。分页库正在从缓存中获取数据,因此存在旧数据,这是不好的 有没有办法使页面无效? 我希望当我向上滚动时,会有一个(可选)调用(可能在数据源本身中),询问缓存中的数据是否仍然有效 如果

我正在使用alpha5中的pagin库。 我的问题是,我想使用android分页库加载的列表经常被更改。比如每分钟几次。当我向下滚动并加载第1、2、3页(我使用的是位置数据源)时,可能会出现第1页在向下滚动时无效的情况

试着想象第1页由于某种原因变得无效,用户在第5页(与第1页不在同一屏幕上),现在他再次滚动到第1页。分页库正在从缓存中获取数据,因此存在旧数据,这是不好的

有没有办法使页面无效? 我希望当我向上滚动时,会有一个(可选)调用(可能在数据源本身中),询问缓存中的数据是否仍然有效


如果是这种情况,一切都很好,如果不是这样,请使用pskink指出的方法重新加载源代码(数据库、网络等)

如果数据源发生更改,则通知外部世界的唯一方法是调用
数据源#invalidate()
方法。如果您不想重新加载未更改的页面的原因是因为您使用了一些较慢的数据源(例如在网络上),那么您应该使用Room缓存数据。您将只能更新缓存中已更改的部分,无需编写自己的数据源,并且当缓存已更改时,Room提供的数据源将自动失效,以便更新显示

如果您的
DataSource
发生更改,通知外部世界的唯一方法是调用
DataSource#invalidate()
方法。我不想重新加载整个列表,但要重新加载“旧”页面。您不能这样做,请参阅
DataSource
javadocs,部分:
更新分页数据
Hello@andre您成功使用位置数据源了吗?在我的示例中,它在初始加载后停止…除了缺少的特性,它按预期工作,是的