Android 每次ContentProvider调用getContentResolver.notifyChange(uri,observer=null)时,RecyclerView都会滚动到顶部?
我有一个Android 每次ContentProvider调用getContentResolver.notifyChange(uri,observer=null)时,RecyclerView都会滚动到顶部?,android,views,Android,Views,我有一个RecyclerView,其中包含一个ListView,每当后端数据库发生更改时(通过ContentProvider中的update()方法),ContentProvider调用getContext()getContentResolver()。notifyChange(uri,null),这使得RecyclerView滚动到顶部 我知道如果要更新适配器中的视图,只需调用notifyDatasetChanged(),然后平滑滚动到活动中的当前位置。但是,由于我只在适配器中调用了notify
RecyclerView
,其中包含一个ListView
,每当后端数据库发生更改时(通过ContentProvider
中的update()方法),ContentProvider
调用getContext()
getContentResolver()。notifyChange(uri,null),这使得RecyclerView
滚动到顶部
我知道如果要更新适配器中的视图,只需调用notifyDatasetChanged()
,然后平滑滚动到活动中的当前位置。但是,由于我只在适配器中调用了notifyDatasetChanged()
,而这个问题是由ContentProvider
中的notifyChange()
引起的,有人知道如何解决这个问题吗
此外,我的活动中有一个
LoaderManager
,不需要ContentObserver
。尝试清除回收器视图上的焦点尝试清除回收器视图上的焦点