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

尝试清除回收器视图上的焦点尝试清除回收器视图上的焦点