Cómo restablecer volver a onItemClickListener cierto después ha establecido en nulo?

Gabriel assenga:

Me he puesto en mi lista onItemClickListener vista, artículos, incluyendo videos, imágenes y texto. Cuando el usuario toque en el video en vista de lista que juega bien. Ahora dentro del método de playVideo () me puse a la vista de lista nula de manera que el usuario no debe interactuar con el vídeo durante la reproducción.

Quiero recuperar / rese t respaldar la onitemClicklisterner a cierto después de que termine de vídeo para jugar. ¿Cómo se implementa esto, amablemente Assist.

    private void playVideo() {

    listOfMessages.setOnItemClickListener(null);

    videoText.setVideoURI(Uri.parse(chattVideo));
    frameText.setVisibility(View.VISIBLE);
    imageVideo.setVisibility(View.INVISIBLE);
    videoText.setVisibility(View.VISIBLE);
    btnText.setVisibility(View.GONE);

   try {
        videoText.setMediaController(mediaControllerText);
        mediaControllerText.show();
       videoText.seekTo(1);
      videoText.pause();
       videoText.stopPlayback();
       videoText.seekTo(1);
       videoText.resume();
    progressBarMessage.setVisibility(View.GONE);
        videoText.start();

        videoText.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {

                mp.start();

                mp.setOnVideoSizeChangedListener(new MediaPlayer.OnVideoSizeChangedListener() {
                    @Override
                    public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {

                        progressBarMessage.setVisibility(View.GONE);
                        mp.start();
                    }
                });

            }
        });

        videoText.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mp) {


               listOfMessages.setOnItemClickListener(this);// if I do like this android studio complains it cannot be applied inside MediaPlayer.OnCompletionListener
                btnText.setVisibility(View.VISIBLE);

            }
        });

        videoText.setOnErrorListener(new MediaPlayer.OnErrorListener() {
            @Override
            public boolean onError(MediaPlayer mp, int what, int extra) {

                FancyToast.makeText(getContext(),"Something went wrong!",FancyToast.LENGTH_LONG,
                        FancyToast.ERROR,R.drawable.wheel,false).show();

                return false;
            }
        });


   } catch (Exception e) {
       PBar.setVisibility(View.GONE);
        FancyToast.makeText(getContext(),e.getMessage(),
                FancyToast.LENGTH_LONG,FancyToast.WARNING,R.drawable.wheel,false).show();
    }

}
Para Rajpurohit:

Puede crear un método como el siguiente para hacer la materia requerida

Aquí es pseudocódigo

private void setListener(boolean isPlaying){
        if(isPlaying){
            your_listview.setOnItemClickListener(null);
        }
        else{
            your_listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    //YOUR CODE
                }
            });
        }
    }

Ahora, sólo tiene que llamar setListener(true)cuando se reproduce el vídeo o de lo contrariosetListener(false)

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=292631&siteId=1
Recomendado
Clasificación