2017-07-17 61 views
-3

我有一个Activity,其中包含viewpager,每个viewpager选项卡包含一个片段。这些片段中只有一个具有一个recyclerview(里面有cardView),当然还有一个用于recyclerview的适配器。通过点击主活动布局中的浮动动作按钮,打开另一个活动,其中包含两个编辑文本,一个用于设备ID,另一个用于设备名称,一个按钮称为添加。通过单击添加按钮,应该将设备添加到数据库并更新适配器使用notifyItemInserted(位置)....问题在这里它立即添加设备到数据库,但适配器不立即更新视图。它更新后,我使用viewpager选项卡滚动应用程序或当我从头开始主要活动....在代码中没有错误,我有搜索答案,但我找不到任何东西来解决这个问题。 。通过单击按钮添加新项目时,RecyclerView适配器无法立即更新视图

任何人面对这样的问题,请咨询 感谢

+1

请提供一些你已经写过的代码。 – Fiffe

+1

请显示您的代码 –

+0

代码和logcat,请! –

回答

0

您是否尝试过调用onActivityResult您SetUpRecyclerView(),我asume您正在使用。这是我在向我的RecyclerView添加元素时使用的。 使用FragmentPagerAdapter时,您的寻呼机在内存中保留两个选项卡,这就是为什么您必须滚动才能使更改生效。但对于我来说,我的SetupRecyclerView工作得很好。

+0

你不能在回收站视图适配器里面关注onActivityResult()方法 –

+0

@Laity Rawi,哥们,我认为你需要将你的代码或相关的代码添加到你原来的文章中。虽然我没有编码理解你的问题,但不知道你可能会做什么。 – Racu

1

尝试使用swapadapter()方法。

void swapAdapter (Adapter adapter, 
      boolean removeAndRecycleExistingViews) 

使用所提供的适配器交换当前适配器。它类似于setAdapter(Adapter),但是假设现有适配器和新适配器使用相同的RecyclerView.ViewHolder,并且不清除RecycledViewPool。

+0

当我使用这种方法我得到这个 –

+0

NullPointerException:试图调用虚拟方法'无效android.support.v7.widget.RecyclerView.swapAdapter(android.support.v7.widget.RecyclerView $适配器,布尔)'对空对象参考 –