2017-06-22 74 views
-2

Hy,我正在製作一個聊天應用程序,我想在web中自動刷新當前的活動,如ajax。請用示例代碼發佈您的答案。謝謝。 我正在使用API​​通過JSON和Android Volley獲取和發送消息。如何在Android中自動刷新recyclerview內容

+0

請顯示你的嘗試 – tyczj

+0

@tyczj我做了一個名爲init()的函數,它收集所有的數據並顯示在recyclerview中的數據,另外我放置了一個按鈕,當按下按鈕時調用該函數 –

回答

0

當數據發生任何變化時,您必須通知適配器。 將您的適配器設置爲回收站視圖並在數據發生更改時調用setData方法並傳遞更新的列表。

public class CustomAdapter extends RecyclerView.Adapter<CustomHolder>    
    { 
    private ArrayList<String> data = new ArrayList<>(); 

    public SubjectsAdapter() {} 

    public void setData(List<String> newData) { 
     this.data.clear(); 
     data.addAll(newData); 
     notifyDataSetChanged(); 
    } 

    @Override 
    public CustomHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     View view = LayoutInflater.from(parent.getContext()) 
       .inflate(R.layout.single_row, parent, false); 
     return new CustomHolder(view); 
    } 

    @Override 
    public void onBindViewHolder(final SubjectsHolder holder, int position) { 

     holder.textview.setText(data.get(position)); 

    } 

    @Override 
    public int getItemCount() { 
     return data.size(); 
    } 
} 
+0

你的回答非常好,它幫助了我很多,但是我想知道如何定期檢查,如果我在我的數據庫中得到新的數據不是? –

+0

這取決於您如何從服務器獲取數據......請詳細說明您的情況。 –

+0

我從XAMPP服務器通過Android Volley獲取數據。 –

0

使用notifyDataSetChanged();動態後recyclerview添加新項

0

使用遞歸後延遲處理的一段固定時間後更新數據,並調用notifyDataSetChanged()你的適配器上,如果你有一個更新