2017-08-30 69 views
0

我想開發一個藍牙API,它有一個偵聽器,使其在掃描後可以找到所有附近的藍牙設備。我使用這個監聽器將所有找到的設備存儲在列表中(每當我發現一個設備存儲在列表中時)Android - 更新沒有調用的ListView項NotifyDataSetChanged()

我的想法是:開發人員可以將此列表引用到其適配器中,以顯示所有附近可用的設備。我可以如何更新並通知適配器的更改,而無需致電adapter.notifyDataSetChanged()?原因很簡單:當設備掃描時,我想顯示創建的設備。

如果您認爲我的想法是錯誤的,任何想法都將被讚賞。

謝謝。

+0

Recyclerview這樣做的過程是這樣的情況是非常有用的。您可以使用adapter.notifyItemInserted()它將更新適配器數據並且還動畫數據輸入。 –

回答

0

我的想法是:開發人員可以參考此列表到他的適配器 顯示所有附近可用的設備。我如何才能更新並且 通知適配器的更改,而無需致電 adapter.notifyDataSetChanged()?原因很簡單:當設備 正在掃描時,我想顯示創建的設備。

只需使用可運行更新基於分鐘的任何更改。這是一種不需要撥打的替代方式adapter.notifyDataSetChanged()

此代碼每分鐘運行一次。

refresh = new Runnable() { 
      @Override 
      public void run() { 
       //Clear the list 
       //Call the list ie. Asynctask 
       handler.postDelayed(this, 60 * 1000); 
      } 
     }; 

     handler.postDelayed(refresh, 60 * 1000); 
0

您是否在問如何通知有關您的列表中推送的單個新數據?

如果是這樣,是我的一篇文章,描述在一個非常詳細的方式RecyclerView Adapters

相關問題