【发布时间】: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