passer un view holder a une fonction
Bonjour
J ' essaie d ' appliquer le pattern ViewHolder pour ma listview , mais je n arrive pas a le passer a mes fonctions pour que celles ci puissent l ' utiliser .
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder ;
if (convertView == null) {
convertView = inflater.inflate(R.layout.mediaplayer, null);
holder = new ViewHolder();
tab=new TabVoiceMail();
holder.playButton=(ImageButton)convertView.findViewById(R.id.button_play);
holder.barre=(ProgressBar)convertView.findViewById(R.id.progress_bar);
holder.fondEcran=(AbsoluteLayout)convertView.findViewById(R.id.affichage);
//updateTime();
holder.playButton.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
play();
holder.fondEcran.setBackgroundColor(Color.BLUE);
calculProgressBar();
etatLecteur();
}});
//tab.play();
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.playButton.setTag(position);
return convertView;
} |
la j ' ai un null pointer levé quant j ' appelle ma fonction etatlecteur() alors que j ' ai bien appelé le view holder dedans
ma fonction est composée ainsi
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| public void etatLecteur()
{
final ViewHolder holder ;
holder=new ViewHolder();
if (mMediaPlayer.isPlaying()) {
mMediaPlayer.pause();
holder.playButton.setImageResource(R.drawable.button_play);
} else {
mMediaPlayer.start();
holder.playButton.setImageResource(R.drawable.button_pause);
}
} |
null pointer sur le holder.playButton comme si il reconnaissait pas mon viewholder
je precise que ca marche si je fout directement le code dans mon onclick sans faire de fonctions mais ca ferait un gros foutoir apres vu les fonctions qui necessitent le viewholder
merci de votre aide