2017-06-22 76 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()你的适配器上,如果你有一个更新