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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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