需求:
Recyclerview使用GridLayoutManager布局,当页面产生滑动后,按返回键需要返回第一页,且焦点需要落到第一个item上
实现:
1、首先,需要将屏幕滑动到第一个页,先使用scrollToPosition(0)滑动,个别位置返回时,第一行展示不全,使用scrollToPositionWithOffset(0, 0)同样不行,最后尝试加负的偏移,问题解决:scrollToPositionWithOffset(0, -200),具体原因未知,待后续研究;
2、其次,将焦点锁定到第一个Item,要先滚动,再设置焦点
@Override
public void run() {
if (mGridLayoutManager.getChildAt(0) != null) {
mGridLayoutManager.getChildAt(0).requestFocus();
}
}
});```
网友评论