我使用第三部分代码在我的应用程序中成功添加了快速滚动。哪个在屏幕右侧绘制字母并给我点击的字母然后我将下面的代码移动到该块。哪个工作正常。以下是我的代码:
mSideBarView.setOnTouchLetterChangeListener(new WaveSideBarView.OnTouchLetterChangeListener() {
@Override
public void onLetterChange(String letter) {
//int pos = adapter.getLetterPosition(letter);
char c=letter.charAt(0);
if(c=='#'){
Contact con = mAllContactlist.get(0);
char firstCharacter = mAllContactlist.get(0).getmName().charAt(0);
if((firstCharacter >= '0' && firstCharacter <= '9'))
mRecyclerView.scrollToPosition(0);
}
else{
int pos =getLetterPosition(c);
if (pos != -1) {
mRecyclerView.scrollToPosition(pos);
}
}
}
});
正如您所看到的,我正在使用scrolltoposition来查看特定的recyclerview单元格。但是这个单元格不在默认应用程序的屏幕上。为了清楚我添加了图像。 ] 2
答案 0 :(得分:1)
在RecyclerView中使用函数scrollToPositionWithOffset代替scrollToPosition:
//Scroll item pos to 0 pixels from the top
linearLayoutManager.scrollToPositionWithOffset(pos, 0);