IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

passer un tag(ou position) a un bouton


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 179
    Par défaut passer un tag(ou position) a un bouton
    bonjour
    Je cherche a faire passer un tag a mon mediaplayer pour qu il sache quel musique lancer(listé sur carte SD)
    Or , il me lance toujours la meme musique quelque soit le lecteur...( les lecteurs sont representes dans une listview)
    Comment faire en sorte de bien positionner la musique en face du lecteur?
    merci de votre aide

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    public View getView( final 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.nomFile=(TextView)convertView.findViewById(R.id.num);
                  holder.date=(TextView)convertView.findViewById(R.id.date);
                  holder.playButton.setClickable(true);
                  holder.playButton.setFocusable(true); 
                  tempButton=holder.playButton;
                  mMediaPlayer = new MediaPlayer();
                  holder.barre=(ProgressBar)convertView.findViewById(R.id.progress_bar);
                  tempBarre=holder.barre;
                  holder.fondEcran=(AbsoluteLayout)convertView.findViewById(R.id.affichage);
     
                  updateSongList();
                  convertView.getTag();
     
                  //play(convertView);
     
     
     
                  	//updateTime();
     
                  	holder.playButton.setOnClickListener(new OnClickListener() {
     
                  			public void onClick(View view) {
                  				 String songPath=(MEDIA_PATH+songs.get(position)); 
                  	     		 Log.v(TAG, "nom fichier " + MEDIA_PATH+songs.get(position));
                  	     		  try {
                  	     			holder.playButton.setTag(songPath);
                  	     			 // path = "/sdcard/audio.mp3";
     
                  	     	           mMediaPlayer.setDataSource(songPath);
                  	     	           mMediaPlayer.prepare();
                  	     	          // Log.v(TAG, "liste " + nom);
     
                  	     	        } catch (Exception e) {
                  	     	               Log.e(TAG, "error: " + e.getMessage(), e);
                  	     	        }
                  	     	  holder.barre.setMax(mMediaPlayer.getDuration());
                  		      holder.barre.setProgress(0);
                  		      holder.barre.setTag(position);
                  		      view.getTag();
                  			  etatLecteur(holder);
                  			  holder.fondEcran.setBackgroundColor(Color.BLUE);
                  			  calculProgressBar(holder);
     
               }});
     
     
     
     
     
     
               } else {
     
                   holder = (ViewHolder) convertView.getTag();
               }
     
    		  holder.nomFile.setText(songs.get(position));
    		   File home=new File(MEDIA_PATH);
    		   Date dateModif=new Date(home.lastModified());
    		   java.text.DateFormat conversion= new SimpleDateFormat("HH:mm");
     
    		   Log.v(TAG, "date " + dateModif);
    		   holder.date.setText(conversion.format(dateModif));
    		   holder.barre.setTag(position);
    		   holder.playButton.setTag(position);
               return convertView;
     
           }
    ca fonctionne si j ' instancie mon lecteur media dans le Onclick, mais apres mon prog plante( car je creer un nouveau lecteur a chaque clic...)et l ' evenement pause ne fonctionne plus

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Salut,

    Tu n'as cas mémoriser ta position dans ton holder.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 179
    Par défaut
    merci , j ' ai teste , mais ca n' a pas change grand chose( peut etre que je m ' y prends mal).
    En fait , c est très étrange car j ai réussi a résoudre le pb , mais il en entraine un autre...
    Si je fais ca

    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
    playButton.setOnClickListener(new OnClickListener() {
     
    	  			public void onClick(View view) {
      	     		 try 
      	     		 {
      	     			String songPath=(MEDIA_PATH+songs.get(position));
      	     			 //path = "/sdcard/audio.mp3";
      	     			 mMediaPlayer.reset();
    	  	 	         mMediaPlayer.setDataSource(songpath);
    	  	 	         mMediaPlayer.prepare();
    	  	 	        //mMediaPlayer.start();
     
     
    	  	 	        } catch (Exception e) {
    	  	 	      // Log.v(TAG, "liste " + nom); 
    	  	 	        }
    	  	 	        barre.setMax(mMediaPlayer.getDuration());
    	  		        barre.setProgress(0);
    	  		        if (mMediaPlayer.isPlaying()) 
    	  		        {
    	  		        	mMediaPlayer.pause();
    	  		        	playButton.setImageResource(R.drawable.button_play);
    	  		        }
    	  		        else 
    	  		        {
     
    	  		        	mMediaPlayer.start();
    	  		        	playButton.setImageResource(R.drawable.button_pause);
    	  		        }
    	  			  isPlaying = !isPlaying;
     
     
      			 // etatLecteur();
      			 // fondEcran.setBackgroundColor(Color.BLUE);
      			  //calculProgressBar();
     
     
    }});
    ca fonctionne bien au niveau du positionnement, chaque lecteur reconnait la bonne musique mais lorsque je clique la 2 eme fois sur le bouton, l évènement pause ne fonctionne pas et ca me relance la musique...

    Or , si je déclare la création du mediaplayer avant le click comme ceci
    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
          try 
      		 {
      			String songPath=(MEDIA_PATH+songs.get(position));
      			 //path = "/sdcard/audio.mp3";
      			 mMediaPlayer.reset();
    	 	         mMediaPlayer.setDataSource(songpath);
    	 	         mMediaPlayer.prepare();
    	 	        //mMediaPlayer.start();
     
     
    	 	        } catch (Exception e) {
    	 	      // Log.v(TAG, "liste " + nom); 
    	 	        }
    	 	        barre.setMax(mMediaPlayer.getDuration());
    		        barre.setProgress(0);
            playButton.setOnClickListener(new OnClickListener() {
     
    	  			public void onClick(View view) {
     
    	  		        if (mMediaPlayer.isPlaying()) 
    	  		        {
    	  		        	mMediaPlayer.pause();
    	  		        	playButton.setImageResource(R.drawable.button_play);
    	  		        }
    	  		        else 
    	  		        {
     
    	  		        	mMediaPlayer.start();
    	  		        	playButton.setImageResource(R.drawable.button_pause);
    	  		        }
    	  			  isPlaying = !isPlaying;
     
     
      			 // etatLecteur();
      			 // fondEcran.setBackgroundColor(Color.BLUE);
      			  //calculProgressBar();
     
     
    }});
    C' est l inverse ...
    Ca reconnait bien mon évènement pause , mais chaque lecteur lit toujours la même musique.
    Je suppose que c ' est parce que a chaque click , ca relit la musique et ca ignore l évènement pause
    Tu aurais pas une solution pour gérer ca , sans devoir créer un 2 eme bouton?
    Merci beaucoup pour ton aide

Discussions similaires

  1. Trouver la position d'un bouton et le nom de la macro ?
    Par -=ET=- dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/10/2019, 18h50
  2. position d'un bouton
    Par lorie dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 27/03/2010, 00h21
  3. position d'un bouton toujours a droite
    Par skunkies dans le forum Windows Forms
    Réponses: 8
    Dernier message: 19/12/2008, 09h26
  4. Bloquer la position d'un bouton sur une feuille à l'impression
    Par benpinta dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/10/2007, 16h59
  5. Rafraichir la position d'un bouton...
    Par TigreRouge dans le forum MFC
    Réponses: 3
    Dernier message: 07/09/2005, 00h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo