J'utilise les listes de l'audio sur mon Recyclview
et il travaille des moyens corrects, je suis capable de lire le fichier audio sur mon Recyclview
.Comment utiliser l'audio avec seekbar sur Recyclview android?
Comme je suis en utilisant le Seekbar
avec mon fichier audio sur mon Recyclview
, le problème génère que lorsque je suis défilement du Recyclview
l'autre items's of Recyclview Seekbar
est en train de changer (Seekbar j'utilise pour le progrès du jeu de fichiers audio.)
ce que je veux que d'autres Seekbar
élément de Recyclview
sholud ne pas être changement wh en i défiler la Recyclview
S'il vous plaît vérifier mon code, à l'intérieur du onBindViewHolder
pour mon Recyclview
, je suis en utilisant le code suivant, s'il vous plaît vérifier une fois.
((MyAudioChat) holder).sbMyAudio.setTag(position);
((MyAudioChat) holder).imgPlayAudio.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
((MyAudioChat) holder).sbMyAudio.removeCallbacks(null);
((MyAudioChat) holder).sbMyAudio.setProgress(0);
if (mediaPlayer == null) {
mediaPlayer();
((MyAudioChat) holder).sbMyAudio.setMax(mediaPlayer.getDuration());
} else {
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer();
((MyAudioChat) holder).sbMyAudio.setMax(mediaPlayer.getDuration());
}
((MyAudioChat) holder).sbMyAudio.getTag();
((MyAudioChat) holder).sbMyAudio.setMax(mediaPlayer.getDuration()); // Set the Maximum range of the
((MyAudioChat) holder).sbMyAudio.setProgress(mediaPlayer.getCurrentPosition());// set current progress to song's
Runnable moveSeekBarThread = new Runnable() {
public void run() {
if (mediaPlayer.isPlaying()) {
int mediaPos_new = mediaPlayer.getCurrentPosition();
int mediaMax_new = mediaPlayer.getDuration();
((MyAudioChat) holder).sbMyAudio.setMax(mediaMax_new);
((MyAudioChat) holder).sbMyAudio.setProgress(mediaPos_new);
((MyAudioChat) holder).sbMyAudio.postDelayed(this, 100); //Looping the thread after 0.1 second
((MyAudioChat) holder).sbMyAudio.getTag();
}
}
};
((MyAudioChat) holder).sbMyAudio.removeCallbacks(moveSeekBarThread);
((MyAudioChat) holder).sbMyAudio.postDelayed(moveSeekBarThread, 100);
}
});
J'ai visité le site suivant sur SO mais n'a pas obtenu la solution pertinente
1 .First Link
2. Second Link
Peut-on utiliser le setTag()
et getTag()
pour se débarrasser de de ce problème. Je l'ai utilisé le setTag()
sur mon code ci-dessus. S'il vous plaît vérifier une fois.
S'il vous plaît aidez-moi à court de ce problème –