@NonNull public ComposedChildAdapterTag addAdapter(@NonNull RecyclerView.Adapter adapter, int position) { final ComposedChildAdapterTag tag = new ComposedChildAdapterTag(); mAdapterTags.add(position, tag); mAdapters.add(position, adapter); ComposedChildAdapterDataObserver observer; final int uniqueAdapterIndex = mUniqueAdapters.indexOf(adapter); if (uniqueAdapterIndex >= 0) { observer = mObservers.get(uniqueAdapterIndex); } else { observer = new ComposedChildAdapterDataObserver(mSubscriber, adapter); mObservers.add(observer); mUniqueAdapters.add(adapter); adapter.registerAdapterDataObserver(observer); } observer.registerChildAdapterTag(tag); return tag; }
/** * Constructor * @param adapter The adapter which to be wrapped */ public SimpleWrapperAdapter(@NonNull RecyclerView.Adapter<VH> adapter) { mWrappedAdapter = adapter; mBridgeObserver = new BridgeAdapterDataObserver(this, mWrappedAdapter, null); mWrappedAdapter.registerAdapterDataObserver(mBridgeObserver); super.setHasStableIds(mWrappedAdapter.hasStableIds()); }
protected Selector(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.Adapter adapter) { mRecyclerView = recyclerView; mAdapter = adapter; mAdapter.registerAdapterDataObserver(new SelectorAdapterDataObserver()); }
/** * Call this method to set the RecyclerView's adapter while ensuring the empty view * will show or hide automatically according to the adapter's empty state. */ public void setAdapter(@Nullable RecyclerView.Adapter adapter) { final RecyclerView.Adapter oldAdapter = mHolder.recyclerView.getAdapter(); if (oldAdapter == adapter) { return; } if (oldAdapter != null) { oldAdapter.unregisterAdapterDataObserver(mEmptyObserver); } mHolder.recyclerView.setAdapter(adapter); if (adapter != null) { adapter.registerAdapterDataObserver(mEmptyObserver); } updateEmptyViewVisibility(); }
@Override public void setAdapter(final Adapter adapter) { if (getAdapter() != adapter) { try { if (getAdapter() != null) { getAdapter().unregisterAdapterDataObserver(mAdapterDataObserver); } } catch (final Exception e) { // ignore } super.setAdapter(adapter); if (adapter != null) { adapter.registerAdapterDataObserver(mAdapterDataObserver); } } updateEmptyView(); }
void startObservingItems() { adapter.registerAdapterDataObserver(itemsObserver); }
@Override public void registerAdapterDataObserver(RecyclerView.AdapterDataObserver observer) { wrapped.registerAdapterDataObserver(observer); }
@SuppressWarnings("unchecked") private void setAdapter(RecyclerView.Adapter adapter) { if (mAdapter != null) { mAdapter.unregisterAdapterDataObserver(mHeaderPositionsObserver); } if (adapter instanceof StickyHeaders) { mAdapter = (T) adapter; mAdapter.registerAdapterDataObserver(mHeaderPositionsObserver); mHeaderPositionsObserver.onChanged(); } else { mAdapter = null; mHeaderPositions.clear(); } }
/** * Make sure this constructor is called before setting the adapter on the RecyclerView * so this class will be notified before the RecyclerView in case of data set changes. */ public MultiChoiceHelper(@NonNull AppCompatActivity activity, @NonNull RecyclerView.Adapter adapter) { this.activity = activity; this.adapter = adapter; adapter.registerAdapterDataObserver(new AdapterDataSetObserver()); checkStates = new SparseBooleanArray(0); if (adapter.hasStableIds()) { checkedIdStates = new LongSparseArray<>(0); } }
public void registerAdapterDataObserver() { if (mRecyclerView == null || mRecyclerView.getAdapter() == null) return; mRecyclerView.getAdapter().registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() { @Override public void onChanged() { mItemCount = mRecyclerView.getAdapter().getItemCount(); mBottomItemsHeight = -1; updateScrollPos(); invalidate(); } }); }
public void setSuggestionsAdapter(RecyclerView.Adapter adapter) { if (mRecyclerView.getAdapter() != null) mRecyclerView.getAdapter().unregisterAdapterDataObserver(mDataObserver); mRecyclerView.setAdapter(adapter); adapter.registerAdapterDataObserver(mDataObserver); mDataObserver.onChanged(); }
@Override public void registerAdapterDataObserver(@NonNull AdapterDataObserver observer) { super.registerAdapterDataObserver(observer); adapter.registerAdapterDataObserver(observer); }
@Override public void registerAdapterDataObserver(@NonNull RecyclerView.AdapterDataObserver observer) { if (!hasObservers()) { for (int i = 0, size = adapters.length; i < size; ++i) { adapters[i].registerAdapterDataObserver(adapterObservers[i]); } } super.registerAdapterDataObserver(observer); }
@Override public void setAdapter(Adapter adapter) { Adapter oldAdapter = getAdapter(); if (oldAdapter != null) oldAdapter.unregisterAdapterDataObserver(observer); super.setAdapter(adapter); if (adapter != null) adapter.registerAdapterDataObserver(observer); checkEmpty(); }
/** * @param recyclerView Target recycler view */ public void attachToRecyclerView(final RecyclerView recyclerView) { mRecyclerView = recyclerView; mRecyclerView.getAdapter().registerAdapterDataObserver(mDataObserver); initIndicators(); }
/** * overwrite the registerAdapterDataObserver to correctly forward all events to the FastAdapter * * @param observer */ @Override public void registerAdapterDataObserver(RecyclerView.AdapterDataObserver observer) { super.registerAdapterDataObserver(observer); if (mFastAdapter != null) { mFastAdapter.registerAdapterDataObserver(observer); } }
/** * overwrite the registerAdapterDataObserver to correctly forward all events to the FastAdapter * * @param observer */ @Override public void registerAdapterDataObserver(RecyclerView.AdapterDataObserver observer) { super.registerAdapterDataObserver(observer); if (mAdapter != null) { mAdapter.registerAdapterDataObserver(observer); } }
/** * If there is a new adapter on the attached RecyclerView it will resister the data observer and * clear the current visibility states */ private void processNewAdapterIfNecessary() { if (attachedRecyclerView != null && attachedRecyclerView.getAdapter() != null) { if (lastAdapterSeen != attachedRecyclerView.getAdapter()) { if (lastAdapterSeen != null) { // Unregister the old adapter lastAdapterSeen.unregisterAdapterDataObserver(this.observer); } // Register the new adapter attachedRecyclerView.getAdapter().registerAdapterDataObserver(this.observer); lastAdapterSeen = attachedRecyclerView.getAdapter(); } } }
/** * overwrite the registerAdapterDataObserver to correctly forward all events to the FastAdapter * * @param observer */ @Override public void registerAdapterDataObserver(RecyclerView.AdapterDataObserver observer) { super.registerAdapterDataObserver(observer); if (mFastAdapter != null) { mFastAdapter.registerAdapterDataObserver(observer); } }
@Override public void registerAdapterDataObserver(RecyclerView.AdapterDataObserver observer) { super.registerAdapterDataObserver(observer); mAdapter.registerAdapterDataObserver(observer); }