Android 屏幕上循环视图的焦点项目未通知循环视图项目

Android 屏幕上循环视图的焦点项目未通知循环视图项目,android,listview,android-recyclerview,listadapter,Android,Listview,Android Recyclerview,Listadapter,我在Recycleview上有50件或更多的物品。屏幕上显示10个项目。 我每15秒更新一次我房间数据库中的数据。之后,我会根据本地房间的最新数据通知我的recycleview适配器 当循环滚动时,我成功地完全通知项目 但主要的问题是屏幕上的项目并没有改变。只有在滚动循环视图时才会更改 这是我的密码 mDataVehicle.clear(); mDataVehicle.addAll(roomDB.getUpdatedVehicleList());

我在Recycleview上有50件或更多的物品。屏幕上显示10个项目。 我每15秒更新一次我房间数据库中的数据。之后,我会根据本地房间的最新数据通知我的recycleview适配器

当循环滚动时,我成功地完全通知项目

但主要的问题是屏幕上的项目并没有改变。只有在滚动循环视图时才会更改

这是我的密码

        mDataVehicle.clear();
        mDataVehicle.addAll(roomDB.getUpdatedVehicleList());
        if (mVehicleAdapter == null) {
            mVehicleAdapter = new VehicleAdapter(activity, mDataVehicle);
            recycleView.setAdapter(mVehicleAdapter);

        } else {
            mVehicleAdapter = new VehicleAdapter(activity, mDataVehicle);
            mVehicleAdapter.notifyDataSetChanged();
        }

在else部分中,为什么要再次初始化VehicleApter?为什么要在
else
中创建新适配器?尝试在适配器中设置方法以更新您的列表。这将向适配器发送刷新的数据。因此notifyDataSetChanged()工作否,当使用
new
时,您正在创建新适配器,而不是更新现有适配器。您正在向RecyclerView发送新的适配器,也就是说,您正在“刷新”视图本身,而不是适配器。如果新适配器连接到视图,至少您会刷新它。那么我该怎么做呢?我只是使新值无效