Обновление ImageView в Android - PullRequest
0 голосов
/ 13 июля 2020

Я собираю проигрыватель песен. Проблема заключается в том, что ImageView для обложек альбомов не обновляется для песен. Когда я играю первую песню, ImageView настроен правильно. Однако при воспроизведении следующих песен ImageView вообще не обновляется. Даже когда я играю одну и ту же песню за другой. Вот мой код:

ImageView album_art и MediaPlayer mp объявлены в классе MusicPlayer до onCreate().

onCreate ():

protected void onCreate(Bundle savedInstanceState)
{
   //other stuff
   album_art = findViewById(R.id.album_art);
   playSong(); //this method handles the song player
}

playSong ():

public void playSong()
{
   //other stuff like initializing mp
   Bitmap art = getArt();
   Bitmap resized = Bitmap.createScaledBitmap(art, 125, 125, true);
   album_art.setImageBitmap(resized);
   nextSong(); //sets onCompleteListener
   mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
      @Override
      public void onPrepared(MediaPlayer mp) {
         mp.start();
      }
   });
}

nextSong ()

public void nextSong()
{
   mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mp) {
                //set next song
                album_art.setImageDrawable(null);
            }
        });
}

То, что я пробовал до сих пор:

  1. Инициализация album_art в playSong() и установка значения null в nextSong().
  2. Установка изображения без изменения размера в playSong()
  3. Проверил журналы и убедился, что функция getArt() работает идеально.

Ничто из этого не могло установить ImageView с правильным изображением после первой песни.

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