Как создать слушатель для логической переменной? - PullRequest
0 голосов
/ 02 мая 2020

Я хочу, чтобы видео останавливалось при прокрутке экрана вверх. Для этого я использую addOnScrollListener.

  public boolean scrolldurum;

      rv.addOnScrollListener(new RecyclerView.OnScrollListener() {
                @Override
                public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int  newState) {
                   // mScrollState = scrollState;
                    if(newState == RecyclerView.SCROLL_STATE_IDLE  ) {
                        Toast.makeText(getActivity(),"scrol stop",Toast.LENGTH_SHORT).show();
                        scrolldurum = false;
                        Log.e("scrolldurumburcu", String.valueOf(scrolldurum));


                    }
                    if(newState == RecyclerView.SCROLL_STATE_DRAGGING  ) {
                        Toast.makeText(getActivity(),"scrol START",Toast.LENGTH_SHORT).show();
                        scrolldurum = true;
                        Log.e("scrolldurumburcu", String.valueOf(scrolldurum));


                }
                    super.onScrollStateChanged(recyclerView, newState);
            }
        });

Моя логическая переменная имеет значение true, когда экран прокручивается, и false, когда он останавливается. Но код остановки видео работает только в onBindViewHolder.

    @Override
        public void onBindViewHolder(final KelimelerAdapterx.CardTasarimTutucu holder, int position) {
            final Kelimeler kelime = kelimelerListe.get(position);

            holder.textViewIngilizce.setText(kelime.getAkis());
            holder.textViewTurkce.setText(kelime.getLikebtn());


if (scrolldurum = true){
    Log.e("xaxaxaxax", String.valueOf(scrolldurum));
    holder.videoView.pause();


}
            if (scrolldurum = false){
                Log.e("xaxaxaxax", String.valueOf(scrolldurum));

            }
            holder.videoView.setErrorTracker(new SimpleVideoView.VideoPlaybackErrorTracker() {
                @Override
                public void onPlaybackError(Exception e) {
                    e.printStackTrace();
                    //   Snackbar.make(holder.videoView, "Uh oh, error playing!", Snackbar.LENGTH_INDEFINITE).show();
                    holder.videoView.start("https://goldgym.pro/imga/"+holder.textViewTurkce.getText().toString());
                    holder. videoView.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            if ( holder.videoView.isPlaying()) {
                                holder.videoView.pause();

                            }
                            else{
                                holder.videoView.play();
                            }


                        }
                    });
                }
            });

          holder.videoView.start("https://goldgym.pro/imga/"+holder.textViewTurkce.getText().toString());


            holder. videoView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {



                    if ( holder.videoView.isPlaying()) {
                        Log.e("scrolldurumburcussss", String.valueOf(scrolldurum));

                        holder.videoView.pause();
                    } else {
                        holder.videoView.play();

                    }

                }

            });

        }

Моей логической переменной нужен слушатель. Как мне это сделать. если вы хотите просмотреть мой полный код. https://gist.github.com/prensmiskin/161741f6e497a9d624258bedbddfd9d8

gif

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...