Android 是否将项目添加到回收器视图?
所以我,;我尝试实现一种方法,当点击一个按钮时,一个新行或项目被添加到recyclerview中。关于这件事我读了很多书,但我就是想不起来。任何帮助都将不胜感激 这里是我的适配器,我相信这是您编写向recyclerview添加项的大部分代码的地方:Android 是否将项目添加到回收器视图?,android,android-adapter,android-recyclerview,Android,Android Adapter,Android Recyclerview,所以我,;我尝试实现一种方法,当点击一个按钮时,一个新行或项目被添加到recyclerview中。关于这件事我读了很多书,但我就是想不起来。任何帮助都将不胜感激 这里是我的适配器,我相信这是您编写向recyclerview添加项的大部分代码的地方: public class DazAdapter extends RecyclerView.Adapter<DazAdapter.MyViewHolder> { List<Information> data = Col
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);
}
}
公共类适配器扩展了RecyclerView.Adapter{
List data=Collections.emptyList();
私人充气机;
私人语境;
公共适配器(上下文、列表数据){
this.context=上下文;
充气器=充气器。从(上下文);
这个数据=数据;
}
public void addData(信息newModelData,int位置){
data.add(位置,newModelData);
(位置);
}
@凌驾
公共MyViewHolder onCreateViewHolder(视图组父级,int-viewType){
视图=充气机。充气(R.layout.custom_行,父项,false);
MyViewHolder=新的MyViewHolder(视图);
报税表持有人;
}
@凌驾
公共无效onBindViewHolder(MyViewHolder,int位置){
信息当前=数据获取(位置);
holder.title.setText(当前.title);
}
@凌驾
public int getItemCount(){
返回data.size();
}
类MyViewHolder扩展了RecyclerView.ViewHolder{
文本视图标题;
图像视图图标;
公共MyViewHolder(查看项目视图){
超级(项目视图);
title=(TextView)itemView.findViewById(R.id.listText);
}
}
}您是否尝试调用addData方法而不是notifyItemInserted
在我的例子中,我使用它从中加载数据,但我认为当您添加单个项时,它应该可以工作
public void onLoadFinished(Loader<List<Data>> loader, List<Data> data) {
this.mAdapter.setDatas(data);
this.mAdapter.notifyDataSetChanged();
}
public void onLoadFinished(加载程序,列表数据){
this.mAdapter.setDatas(数据);
this.mAdapter.notifyDataSetChanged();
}
您的问题是什么?只需按一下按钮,即可将更多项目添加到回收视图中。再加一行,但我不明白。代码已经准备好了。您所要做的就是在适配器中使用适当的newModelData
参数在适当的位置调用方法addData
。因此,在您的onClickListener
中,只需执行类似于adapter.addData(new Information(),1)
的操作即可。但是,如何更改这些新项目中的文本?您的意思是什么?您的onBindViewHolder
已经处理好了。您可以检查并