2017-07-17 60 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 $適配器,布爾)'對空對象參考 –