@Override public void setSelectionFromTop(int position, int offset) { if (!isCalledFromSuper()) { if (adapter == null) { positionToSetWhenAdapterIsReady = position; offsetToSetWhenAdapterIsReady = offset; return; } if (areHeadersSticky) { if (frame != null && frame.hasHeader()) { offset += frame.getHeaderHeight(); } } position = adapter.translateAdapterPosition(position); } super.setSelectionFromTop(position, offset); }
@Override public void smoothScrollToPositionFromTop(int position, int offset, int duration) { if (!isCalledFromSuper()) { if (adapter == null) { positionToSetWhenAdapterIsReady = position; offsetToSetWhenAdapterIsReady = offset; return; } if (areHeadersSticky) { if (frame != null && frame.hasHeader()) { offset += frame.getHeaderHeight(); } } position = adapter.translateAdapterPosition(position); } try { super.smoothScrollToPositionFromTop(position, offset, duration); } catch (NoSuchMethodError e) { // droid_utils: API < 11 TODO: update lib to fix this properly } }