I realized that this is the answer. It will not allow you to scroll if a new line is not pumped (so that it will wait for a new line to be pumped.), But usually it takes less than 50-100 ms. Therefore, we agreed that the behavior is acceptable.
Just run onFocusSearchFailed to return null. Here is an example.
/ ** * Created by sylversphere 15-04-22. * / Public class DelayedNaviGridLayoutManager extends GridLayoutManager {
private final Context context; public SomeGridLayoutManager(Context context, int spanCount) { super(context, spanCount); this.context = context; } public SomeGridLayoutManager(Context context, int spanCount, int orientation, boolean reverseLayout) { super(context, spanCount, orientation, reverseLayout); this.context = context; } @Override public View onFocusSearchFailed(View focused, int focusDirection, RecyclerView.Recycler recycler, RecyclerView.State state) { return null; }}
source share