在项目中有应用到这个功能的需求,要求每次进入页面自动跳到对应的位置。但是在实际使用过程中.smoothScrollToPosition()有时好用有时不好用;
在setData();并且notifyDataSetChanged(); 之后调用,后来偶然发现可能是在设置的时候,数据并没有加载好,导致了时好时坏。
我的解决办法是延时0.5s再进行滚动操作,如下:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
if (index > -1) {
wearableRecyclerView.smoothScrollToPosition(index);
}
}
},500);
延时时间可以根据需要适当调整(自己试过200ms效果不好)