在项目中遇到了NestedScrollView 嵌套导致RecyclerView 的scrollToPosition方法失效,日志打印可以正常看到NestedScrollView的滑动监听正常 并且设置了RecyclerView事件父控件不拦截 都没有效果 暂时清除到具体原因,故先给出解决办法有两个 都是对NestedScrollView 操作,如下:
mScrollView.post(new Runnable() {
@Override
public void run() {
mScrollView.fullScroll(View.FOCUS_DOWN);//滚到底部
// mScrollView.fullScroll(View.FOCUS_UP);//滚到顶部
}
});
mScrollView 是NestedScrollView ,mScrollLayout 是NestedScrollView 的子根控件
mHandler.post(new Runnable() {
public void run() {
if (mScrollView == null || mScrollLayout == null) {
return;
}
int offset = mScrollLayout.getMeasuredHeight() - mScrollView.getHeight();
if (offset < 0) {
offset = 0;
}
mScrollView.scrollTo(0, offset);
}
});
效果可以达到,至于问题原因和更优的解决办法 有时间更新