RecyclerView里面viewpager里面的片段notifydatasetchanged不工作

问题描述:

我在一个片段里面有一个recyclerview,这个片段在一个视图寻呼机里面。RecyclerView里面viewpager里面的片段notifydatasetchanged不工作

即使相同的代码在我的其他项目中工作,notifydatasetchanged()也不起作用。我能看到的唯一区别是它现在在视图传呼机里面?

这是怎么通知的变化:

public void updateRecyler(){ 

    // Clear the current array 
    alarmsFromSP.clear(); 
    // Update the array (This is working the array size is changing) 
    alarmsFromSP.addAll(AlarmCollection.getAlarms(getActivity())); 
    // Notify the change 
    adapter.notifyDataSetChanged(); 
} 

我在OnCreate中创建recylerview这样的:

public class FragmentAllAlarms extends Fragment { 

    // Arraylist of the alarm data from the strings 
    ArrayList<Alarm> alarmsFromSP; 
    tabRefreshReceiver r; 
    RecyclerView rv; 
    AlarmsAdapter adapter; 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 


     View v = inflater.inflate(R.layout.fragment_all_alarms, container, false); 

     // Recycler 
     rv = (RecyclerView) v.findViewById(R.id.mainAlarmRecyclerView); 
     rv.setLayoutManager(new LinearLayoutManager(getActivity())); 

     // Get saved data for alarms from the shared preferences string 
     alarmsFromSP = AlarmCollection.getAlarms(getActivity()); 
     System.out.println("StringIs"+alarmsFromSP.size()); 

     // Adapter 
     adapter = new AlarmsAdapter(getActivity(), alarmsFromSP); 
     rv.setAdapter(adapter); 

难道我失去参照阵列或者是财产以后做与viewpager?

我一直坚持这两天,现在任何帮助非常感谢。

在此先感谢

确保updateRecyler()被调用, 并试图改变adapter.notifyDataSetChanged();rv.getAdapter().notifyDataSetChanged();

这个曾经为我工作。

我面临同样的问题,然后我发现了一个临时的解决方案,而不是使用notifyDataSetChanged()使用

recyclerView.setAdapter(adapter); 
recyclerView.scrollToPosition(postion);