перестанет воспроизводиться аудиофайл в списке после нескольких нажатий? - PullRequest
0 голосов
/ 28 ноября 2018

Я создал ListView, и у каждого элемента ListView есть 2 TextViews, изображение и аудиофайл.Все работает нормально, и аудиофайлы воспроизводятся, но когда я нажимаю на элементы несколько раз и прокручиваю вверх и вниз, аудиофайл не воспроизводится.Что не так в этой части?

Вот мой код Java:

public class NumbersActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_numbers);

    ArrayList<Word> words = new ArrayList<>();

    words.add(new Word("one","un",R.drawable.number_one,R.raw.one));
    words.add(new Word("two","deux",R.drawable.number_two,R.raw.two));
     .......

    ListView listView = (ListView) findViewById(R.id.numberViewlist);
    WordAdapter itemsAdapter = new WordAdapter(this, 
    words,R.color.category_numbers,listView);
    listView.setAdapter(itemsAdapter);
  }
}

, и это код для WordAdaper:

 lView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
   @Override
   public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
     MediaPlayer mp = MediaPlayer.create(getContext(),currentWord.getsound());
     mp.start();
   }
 });

1 Ответ

0 голосов
/ 28 ноября 2018

Используйте этот код:

if (mp != null) {
  if (mp.isPlaying()) {
    mp.stop();
  }
  mp.release();
  mp = null;
}

Пожалуйста, укажите это Док !

...