Java Как показать, затем Скрыть (GONE) View-Android - PullRequest
0 голосов
/ 07 июня 2018

Я разрабатываю приложение в Android Studio (потому что я не про-просто учусь на Java ...) Я не уверен, что мой код не работает - похоже, это не для меня.Кто-нибудь может протянуть руку?

У меня есть музыкальный файл, который при его воспроизведении не будет отображать индикатор выполнения, ПОТОМ скрываю его с видимостью (GONE).Все работает просто отлично, за исключением того, что я не могу заставить VISIBILITY измениться, если (! MediaPlayer.isPlaying) ...

В основном, после 10-секундного воспроизведения звука, индикатор выполнения должен изменить представление обратно на пропавшее.

   final ProgressBar Pbar;
   Pbar = (ProgressBar) findViewById(R.id.progressBar);

   final MediaPlayer mediaPlayer = MediaPlayer.create(this, 
   R.raw.soundttt);
    Button playsound = (Button) this.findViewById(R.id.play_sound_ten);
    playsound.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v) {
            mediaPlayer.start();
            if (mediaPlayer.isPlaying()) {
                Pbar.setVisibility(View.VISIBLE);
            }
            else if (!mediaPlayer.isPlaying()){
                Pbar.setVisibility(View.GONE);
            }
        }

    });

Я пытался в течение трех дней, прочитал много интересного, включая многочисленные темы в MediaPlayer.

StackOverFlow 1 Любая помощь будетоценили!Заранее спасибо!

1 Ответ

0 голосов
/ 07 июня 2018
else if (!mediaPlayer.isPlaying()){
    Pbar.setVisibility(View.GONE);
}

Вышеуказанный код будет выполнен сразу после начала воспроизведения медиаплеера.Это условие будет ложным, в результате видимость представления не будет затронута.

Если вы не хотите переключать видимость через 10 секунд, сделайте это с помощью обработчика следующим образом:

 new Handler().postDelayed(new Runnable() {
     @Override
     public void run() {
         Pbar.setVisibility(View.GONE);
     }
 },10000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...