如何在android中自动刷新recyclerview内容

时间:2017-06-22 19:19:48

标签: android android-recyclerview

Hy,我正在制作一个聊天应用程序,我想在网上自动刷新我当前的活动,如ajax。请用示例代码发布您的答案。谢谢。 我正在使用API​​通过JSON和Android Volley获取和发送消息。

3 个答案:

答案 0 :(得分:1)

当数据发生任何变化时,您必须通知适配器。 将适配器设置为recycleler视图,每当更改数据时,请调用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();
    }
}

答案 1 :(得分:0)

在recyclerview

中动态添加新项目后使用notifyDataSetChanged();

答案 2 :(得分:0)

使用递归后延迟处理程序在一段固定时间后更新数据,如果有更新,则在适配器上调用notifyDataSetChanged()