@Override public void setAdapter(Adapter adapter) { super.setAdapter(adapter); if(adapter != null) { adapter.registerAdapterDataObserver(emptyObserver); } emptyObserver.onChanged(); }
@Override public void setAdapter(Adapter adapter) { super.setAdapter(adapter); if (adapter != null) { adapter.registerAdapterDataObserver(observer); observer.onChanged(); } }
public void setAdapter(Adapter adapter) { Adapter oldAdapter = getAdapter(); if (oldAdapter != null && emptyObserver != null) { oldAdapter.unregisterAdapterDataObserver(emptyObserver); } super.setAdapter(adapter); if (adapter != null) { adapter.registerAdapterDataObserver(emptyObserver); } emptyObserver.onChanged(); }
@Test public void notifyParentDataSetWithExpansionPreservationChangedNoChanges() { assertEquals(25, mExpandableRecyclerAdapter.getItemCount()); mExpandableRecyclerAdapter.notifyParentDataSetChanged(true); verify(mDataObserver).onChanged(); assertEquals(25, mExpandableRecyclerAdapter.getItemCount()); int flatIndex = 0; for (Parent<Object> baseParent : mBaseParents) { verifyParentItemsMatch(baseParent, baseParent.isInitiallyExpanded(), flatIndex); flatIndex++; if (baseParent.isInitiallyExpanded()) { flatIndex += baseParent.getChildList().size(); } } }
@Test public void notifyParentDataSetChangedWithoutExpansionPreservationAllCollapsed() { mExpandableRecyclerAdapter.collapseAllParents(); Parent<Object> movedParent = mBaseParents.remove(0); mBaseParents.add(movedParent); Parent<Object> newParent = generateParent(true, 1); mBaseParents.add(3, newParent); mExpandableRecyclerAdapter.notifyParentDataSetChanged(false); verify(mDataObserver).onChanged(); assertEquals(27, mExpandableRecyclerAdapter.getItemCount()); verifyParentItemsMatch(mBaseParents.get(0), false, 0); verifyParentItemsMatch(newParent, true, 6); verifyParentItemsMatch(mBaseParents.get(9), false, 22); verifyParentItemsMatch(mBaseParents.get(10), true, 23); }
@Test public void notifyParentDataSetWithoutExpansionPreservationChangedNoChanges() { assertEquals(25, mExpandableRecyclerAdapter.getItemCount()); mExpandableRecyclerAdapter.notifyParentDataSetChanged(false); verify(mDataObserver).onChanged(); assertEquals(25, mExpandableRecyclerAdapter.getItemCount()); int flatIndex = 0; for (Parent<Object> baseParent : mBaseParents) { verifyParentItemsMatch(baseParent, baseParent.isInitiallyExpanded(), flatIndex); flatIndex++; if (baseParent.isInitiallyExpanded()) { flatIndex += baseParent.getChildList().size(); } } }
@Override public void onChanged() { super.onChanged(); initIndex(adapter); }
@Override public void onChanged() { super.onChanged(); notifyDataSetChanged(); }
@Override public void onChanged() { super.onChanged(); reset(); }
@Override public void onChanged() { super.onChanged(); reset(); }
@Override public void setAdapter(Adapter adapter) { if (mWrapAdapter != null && mDataObserver != null && isRegisterDataObserver) { mWrapAdapter.getInnerAdapter().unregisterAdapterDataObserver(mDataObserver); } mWrapAdapter = (LRecyclerViewAdapter) adapter; super.setAdapter(mWrapAdapter); mWrapAdapter.getInnerAdapter().registerAdapterDataObserver(mDataObserver); mDataObserver.onChanged(); isRegisterDataObserver = true; mWrapAdapter.setRefreshHeader(mRefreshHeader); //fix bug: https://github.com/jdsjlzx/LRecyclerView/issues/115 if (mLoadMoreEnabled && mWrapAdapter.getFooterViewsCount()==0) { mWrapAdapter.addFooterView(mFootView); } }
@Override public void setAdapter(Adapter adapter) { if (mWrapAdapter != null && mDataObserver != null) { mWrapAdapter.getInnerAdapter().unregisterAdapterDataObserver(mDataObserver); } mWrapAdapter = (LuRecyclerViewAdapter) adapter; super.setAdapter(mWrapAdapter); mWrapAdapter.getInnerAdapter().registerAdapterDataObserver(mDataObserver); mDataObserver.onChanged(); if (mLoadMoreEnabled && mWrapAdapter.getFooterViewsCount()==0) { mWrapAdapter.addFooterView(mFootView); } }
@Override public void onChanged() { super.onChanged(); findSections(); } };
/** * set view when no content item * * @param emptyView visiable view when items is empty */ public void setEmptyView(View emptyView) { this.mEmptyView = emptyView; mDataObserver.onChanged(); }
/** * set view when no content item * * @param emptyView visiable view when items is empty */ public void setEmptyView(View emptyView) { this.mEmptyView = emptyView; mDataObserver.onChanged(); }
@Override public void onChanged() { super.onChanged(); checkIfEmpty(); } };
@Override public void onChanged() { super.onChanged(); notifyDataSetChanged(); }
@Override public void onChanged() { super.onChanged(); update(); }
@Test public void shouldNotifyChangeOnAdditionalObservablesUpdateWhenObservingAndObserved() { repositoryAdapter.startObserving(); repositoryAdapter.registerAdapterDataObserver(observer); runUiThreadTasksIncludingDelayedTasks(); verify(observer, never()).onChanged(); repositoryAdapter.getItemCount(); // usage before event updateDispatcher.update(); runUiThreadTasksIncludingDelayedTasks(); repositoryAdapter.stopObserving(); verify(observer).onChanged(); }
@Test public void shouldNotifyChangeOnStartObservingAfterUsage() { repositoryAdapter.registerAdapterDataObserver(observer); repositoryAdapter.getItemCount(); // "usage". // Because the adapter is not observing any data change, after the usage, it doesn't know of any // change of data, so for extra guarantee, it'll notify change as soon as it starts observing. repositoryAdapter.startObserving(); runUiThreadTasksIncludingDelayedTasks(); repositoryAdapter.stopObserving(); verify(observer).onChanged(); }