Skip to content

Commit 38406fd

Browse files
committed
Add method getRealAdapter
1 parent 3f31431 commit 38406fd

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

omegarecyclerviewlibs/src/main/java/com/omega_r/libs/omegarecyclerview/OmegaRecyclerView.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,20 @@ public void setAdapter(RecyclerView.Adapter adapter) {
194194
updateStickyHeader(shellAdapter);
195195
}
196196

197+
@Nullable
198+
public RecyclerView.Adapter getRealAdapter() {
199+
return getRealAdapter(getAdapter());
200+
}
201+
202+
private RecyclerView.Adapter getRealAdapter(RecyclerView.Adapter adapter) {
203+
if (adapter instanceof HeaderFooterWrapperAdapter) {
204+
return getRealAdapter(((HeaderFooterWrapperAdapter) adapter).getWrappedAdapter());
205+
} else if (adapter instanceof WrapperAdapter) {
206+
return getRealAdapter(((WrapperAdapter) adapter).getLastWrappedAdapter());
207+
}
208+
return adapter;
209+
}
210+
197211
private void unregisterObservers() {
198212
RecyclerView.Adapter currentAdapter = super.getAdapter();
199213
if (currentAdapter != null) {

0 commit comments

Comments
 (0)