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 .
la j ' ai un null pointer levé quant j ' appelle ma fonction etatlecteur() alors que j ' ai bien appelé le view holder dedans
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; }
ma fonction est composée ainsi
null pointer sur le holder.playButton comme si il reconnaissait pas mon viewholder
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); } }
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
Partager