Android 如何在片段中调用RecyclerView适配器的方法
我有一个带有Android 如何在片段中调用RecyclerView适配器的方法,android,android-recyclerview,Android,Android Recyclerview,我有一个带有recyclerview的片段。在这里,我使用一个自定义方法用新的dataset更新适配器 public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter .ViewHolder>{ ..... public void addNewDataset(ArrayList<Integer> data) { ......
recyclerview
的片段。在这里,我使用一个自定义方法用新的dataset
更新适配器
public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter .ViewHolder>{
.....
public void addNewDataset(ArrayList<Integer> data) {
......
notifyDataSetChanged();
}
}
请帮帮我,先谢谢你 在适配器中公开方法。
public void addNewDataset(ArrayList<Integer> data) {
......
notifyDataSetChanged();
}
在调用此addnewDataset之前,请检查数据对象引用没有空值
if(data!=null){
myRecyclerAdapter.addNewDataset(data);
}
public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter .ViewHolder>{
private ArrayList<Integer> mData;
.....
public void addNewDataset(ArrayList<Integer> data) {
if(mData==null){
mData = new ArrayList<Integer>();
}
//If in case you are passing all new array list of integers
mData = data;
//If you want to add new one data to existing array list
mData.addAll(data);
//Use one condition of code from above on the basis of your requirement.
......
notifyDataSetChanged();
}
}
if(数据!=null){
myRecyclerAdapter.addNewDataset(数据);
}
公共类MyRecyclerAdapter扩展了RecyclerView.Adapter{
私有ArrayList mData;
.....
public void addNewDataset(ArrayList数据){
if(mData==null){
mData=newarraylist();
}
//如果您正在传递所有新的整数数组列表
mData=数据;
//如果要将新数据添加到现有数组列表中
mData.addAll(数据);
//根据您的要求使用上述代码的一个条件。
......
notifyDataSetChanged();
}
}
您是否尝试像这样将recyclerView adpter转换为call方法
((MyRecyclerAdapter)recyclerView.getAdapter()).addNewDataset(data);
编译器搜索默认适配器中的addNewDataset()方法myRecyclerAdapter.addNewDataset(index)是否被调用??编译器显示“无法解析方法MyRecyclerPater.addNewDataset()”错误消息似乎您正试图传递
索引
(表示int
)但是addNewDataset
需要
类型的ArrayList
,因此创建一个具有所需参数类型的适当方法,并始终添加完整的详细信息,我们不知道什么是索引
etc@PavneetSingh注释正确..更改如下AddNewDataSet(数据);数据为arraylist??编译器未识别myRecyclerAdapter.addNewDataset(数据);addNewDataset(数据),然后为适配器添加更多代码,说明如何初始化它,以及与LayoutManager相关的RecyclerView的另一个设置?
if(data!=null){
myRecyclerAdapter.addNewDataset(data);
}
public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter .ViewHolder>{
private ArrayList<Integer> mData;
.....
public void addNewDataset(ArrayList<Integer> data) {
if(mData==null){
mData = new ArrayList<Integer>();
}
//If in case you are passing all new array list of integers
mData = data;
//If you want to add new one data to existing array list
mData.addAll(data);
//Use one condition of code from above on the basis of your requirement.
......
notifyDataSetChanged();
}
}
((MyRecyclerAdapter)recyclerView.getAdapter()).addNewDataset(data);