繁体   English   中英

将项目添加到回收者视图?

[英]Add items to a recycler view?

因此,我尝试实现一种方法,在该方法中,单击按钮时,会将新行或新项目添加到recyclerview。 我已经阅读了很多关于此的内容,但我始终无法解决。 任何帮助将不胜感激!

我的适配器在这里,我相信这是您编写大多数代码以将项目添加到recyclerview的地方:

     public class DazAdapter extends RecyclerView.Adapter<DazAdapter.MyViewHolder> {
List<Information> data = Collections.emptyList();
private LayoutInflater inflater;
private Context context;

public DazAdapter(Context context, List<Information> data) {
    this.context = context;
    inflater = LayoutInflater.from(context);
    this.data = data;
}

public void addData(Information newModelData, int position) {
    data.add(position, newModelData);
    notifyItemInserted(position);
}

@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = inflater.inflate(R.layout.custom_row, parent, false);
    MyViewHolder holder = new MyViewHolder(view);
    return holder;
}

@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
    Information current = data.get(position);
    holder.title.setText(current.title);

}

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

class MyViewHolder extends RecyclerView.ViewHolder {
    TextView title;
    ImageView icon;

    public MyViewHolder(View itemView) {
        super(itemView);
        title = (TextView) itemView.findViewById(R.id.listText);

    }
}

}

您是否尝试在addData方法上调用notifyDataSetChanged()而不是notifyItemInserted

就我而言,我使用它从Loader加载数据,但是我认为当您添加单个项目时它应该可以工作。

 public void onLoadFinished(Loader<List<Data>> loader, List<Data> data) {
    this.mAdapter.setDatas(data);
    this.mAdapter.notifyDataSetChanged();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM