添加快速滚动后,将项目移动到屏幕顶部

时间:2017-03-20 06:54:33

标签: android android-recyclerview

我使用第三部分代码在我的应用程序中成功添加了快速滚动。哪个在屏幕右侧绘制字母并给我点击的字母然后我将下面的代码移动到该块。哪个工作正常。以下是我的代码:

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单元格。但是这个单元格不在默认应用程序的屏幕上。为了清楚我添加了图像。 First Image[![][1]] 2

我按了U,它移动到U标签,这是好的,但我想在屏幕上显示这个默认应用程序。以下是默认电话簿应用的屏幕截图。enter image description here

1 个答案:

答案 0 :(得分:1)

在RecyclerView中使用函数scrollToPositionWithOffset代替scrollToPosition:

//Scroll item pos to 0 pixels from the top
linearLayoutManager.scrollToPositionWithOffset(pos, 0);