如何在Fragment中调用RecyclerView适配器的方法

时间:2016-12-12 04:30:36

标签: android android-recyclerview

我有一个autoresizingMask的片段。在这里,我使用自定义方法使用新的yourLbl.autoresizingMask = [.flexibleWidth, .flexibleHeight] 更新适配器。

recyclerview

我在片段中调用了如下所示的方法。

dataset

请帮帮我,谢谢你。

3 个答案:

答案 0 :(得分:2)

你是否尝试过使用recyclelerView adpter而不是像这样的调用方法

((MyRecyclerAdapter)recyclerView.getAdapter()).addNewDataset(data);

编译器在默认适配器中搜索addNewDataset()方法

答案 1 :(得分:0)

在适配器中创建公共方法。

 public void addNewDataset(ArrayList<Integer> data) {
         ......
      notifyDataSetChanged();
    }

现在在片段中创建适配器的对象,如:

MyAdapter adapter = new MyAdapter(); //make object of adpater like this
adapter.addNewDartaset(data);

答案 2 :(得分:0)

在调用此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();
    }
}