Как проверить горизонтальное направление RecyclerView в Android?

Описание:

Я использую RecyclerView с LinearLayoutManager по горизонтали. В этом я пытаюсь получить направление. Recyclerview движется слева направо или справа налево.

Вот мой код:

holder.recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);
            }

            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);

                if(dy > 0){
                    Log.e(TAG,"SCROLL =>"+"RIGHT");
                }else{
                    Log.e(TAG,"SCROLL =>"+"LEFT");

                }
//                int currentVisible=lManger.findFirstVisibleItemPosition();
//
//                Log.e(TAG,"FIRST VISIBLE=>"+firstVisible);
//                Log.e(TAG,"CURRENT VISIBLE=>"+currentVisible);
//                if(currentVisible > firstVisible){
//                    Log.e("RecyclerView scrolled: ", "scroll up!");
//                    if(temp!=blogBean1.getCount()) {
//                        if(temp > 1){
//                            holder.ivPrevious.setVisibility(View.VISIBLE);
//                        }
//                        temp++;
//                        Log.e(TAG,"UP TEMP VALUE IS=>"+temp);
//                        if(currentVisible+1==blogBean1.getCount()){
//                            holder.ivNext.setVisibility(View.GONE);
//                        }
//                    }
//                }else{
//                    Log.e("RecyclerView scrolled: ", "scroll down!");
//
//                    if(temp!=0) {
//                        temp--;
//                        Log.e(TAG,"TEMP VALUES IS=>"+temp);
//                        holder.ivPrevious.setVisibility(View.VISIBLE);
//                        holder.ivNext.setVisibility(View.VISIBLE);
//                    }
//                    else if(firstVisible==0 && currentVisible==0){
//                        Log.e(TAG,"BOTH ZERO=>"+firstVisible+"\t Another=>"+currentVisible);
//                        holder.ivPrevious.setVisibility(View.GONE);
//                        holder.ivNext.setVisibility(View.VISIBLE);
//                    }
//                }
//                firstVisible = currentVisible;
            }
        });

Проблема:

Когда я касаюсь экрана, чтобы прокрутить элемент RecyclerView. Он входит в несколько раз в прокрутке.

Как мне это сделать?


person Milan Gajera    schedule 10.06.2017    source источник
comment
вы можете следовать stackoverflow.com/questions/32035427 /   -  person omor    schedule 10.06.2017
comment
затем developer.android.com/reference/android/support /v7/виджет/   -  person omor    schedule 10.06.2017
comment
его для вверх/вниз stackoverflow.com/questions/29024058/   -  person omor    schedule 10.06.2017