Aller au contenu

Variable pour Activity


Picool

Recommended Posts

Bonjour, nouveau jour nouveau soucis ^^.

Je souhaites gérer dans une listeView le fait que si je clique sur un item cela lance un unique fichier java (un mediaplayer en fait) mais avec des vidéos différentes selon le choix. Pouvez m'indiquer comment faire ?

Merci beaucoup

Lien vers le commentaire
Partager sur d’autres sites

Si tu classes tes vidéos (dans une BDD, ou en utilisant leur référence dans un Array, ... ) dans le même ordre que les éléments de ta liste, il te suffit de récupérer la position de l'élément cliqué via la méthode "setOnItemClickListener" et de lire la vidéo à cette position :

taListe.setOnItemClickListener(new OnItemClickListener() {
          public void onItemClick(AdapterView<?> parent, final View view, int position, long id) {

		lireTaVideoAlaPosition(position);	

   }
});

C'est bien ça que tu veux?

Lien vers le commentaire
Partager sur d’autres sites

Si tu classes tes vidéos (dans une BDD, ou en utilisant leur référence dans un Array, ... ) dans le même ordre que les éléments de ta liste, il te suffit de récupérer la position de l'élément cliqué via la méthode "setOnItemClickListener" et de lire la vidéo à cette position :

taListe.setOnItemClickListener(new OnItemClickListener() {
          public void onItemClick(AdapterView<?> parent, final View view, int position, long id) {

		lireTaVideoAlaPosition(position);	

   }
});

C'est bien ça que tu veux?

Disons que j'ai un fichier java :

package com.penspinning;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;

public class Mediaplayer extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.video);

		VideoView videoView = (VideoView) findViewById(R.id.VideoView);
		MediaController mediaController = new MediaController(this);
		mediaController.setAnchorView(videoView);
// Set video link (mp4 format )
		Uri video = Uri.parse("mp4 video link");
		videoView.setMediaController(mediaController);
		videoView.setVideoURI(video);
		videoView.start();

	}
}

Et à la place de "mp4 video link", j'aimerai avoir une variable qui fait appel à l'élément cliqué dans l'activity précédente et qui donc donne la vidéo correspondant à l'item, je ne sais pas si je suis compréhensible ><.

Lien vers le commentaire
Partager sur d’autres sites

Il faut que tu te serves de l'Intent que tu utilises pour lancer l'Activity MediaPlayer, pour passer la valeur que tu souhaites

Dans l'Activity appelante (celle où il y a la ListView):

 intent.putExtra("url", la_valeur_de_l_url_que_tu_veux_passer_a_l_autre_Activity);
 // ..
 startActivity(intent);

Dans l'Activity appelée (MediaPlayer), dans le onCreate:

  Intent intent = getIntent();
  Uri video = Uri.parse(intent.getStringExtra("url"));

Lien vers le commentaire
Partager sur d’autres sites

Ah merci beaucoup :D

Par contre petite question encore ^^, comment fais tu pour appeler la classe mediaplayer à cet endroit ?

    		  Intent intent = new Intent(Tricks.this, Mediaplayer.class);
    	switch (position) {
    	  case 0:
    		 intent.putExtra("url", "http://upload.penspinning.fr/tsuki.mp4");
    		startActivity(intent);

Si c'est ça j'ai un soucis : "duplicate local variable intent"

Au final j'ai résolu ça mais bon c'est pas terrible je pense, car je garde ca à la fin:

if(intent != null)
    	    startActivity(intent);

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...