【问题标题】:Add items to a recycler view?将项目添加到回收站视图?
【发布时间】:2015-02-18 00:14:24
【问题描述】:

所以我尝试实现一种方法,在该方法中,当单击按钮时,会将新行或项目添加到回收站视图中。我已经阅读了很多关于此的内容,但我无法理解它。任何帮助将不胜感激!

这是我的适配器,我相信这是您编写大部分代码以将项目添加到 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 方法,并在正确的位置使用正确的newModelData 参数。因此,在您的 onClickListener 中执行类似 adapter.addData(new Information(), 1) 的操作。
  • 但是我怎样才能更改这些新项目中的文本呢?
  • 什么意思?你onBindViewHolder 已经在处理这个问题了。

标签: android android-adapter android-recyclerview


【解决方案1】:

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

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-02-25
  • 2016-10-03
  • 1970-01-01
  • 1970-01-01
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多