Exécuter une action à la suite
Salut à tous !
J'ai créer une application pour écouter une WebRadio.
Mon problème est que lorsque la personne appuie sur Play, je souhaites que le nom du bouton change et devienne "Chargement..." et qu'une fois chargé, que le bouton devienne "Arrêter la lecture", mais le problème c'est que le bouton passe direct de "Démarrer la lecture" à "Arrêter la lecture" (hors si je supprime le code qui dit qu'une fois la lecture Ok, qu'il affiche "Arrêter la lecture" et bien je vois correctement "Chargement...").
Alors comment faire pour qu'il m'affiche "Chargement..." ?
Merci d'avance.
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 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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
| package com.radiokafein;
import java.io.IOException;
import com.ultimate.R;
import android.app.Activity;
import android.graphics.Typeface;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class Main extends Activity implements OnClickListener {
MediaPlayer mp = new MediaPlayer();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Typeface font = Typeface.createFromAsset(getAssets(), "bauhs93.ttf");
TextView texteView = (TextView) findViewById(R.id.welcome);
TextView texteView1 = (TextView) findViewById(R.id.url);
texteView.setTypeface(font);
texteView1.setTypeface(font);
TextView t1 = (TextView) findViewById(R.id.url);
t1.setText(
Html.fromHtml(
"<a href=\"http://radiokafein.net\">http://radiokafein.net</a>"));
t1.setMovementMethod(LinkMovementMethod.getInstance());
texteView1.setTypeface(font);
((Button)this.findViewById(R.id.label_controle)).setOnClickListener(this);
if(!mp.isPlaying()) {
TextView t2 = (TextView) findViewById(R.id.label_controle);
t2.setText(
Html.fromHtml(
"Démarrer l'écoute !"));
t2.setMovementMethod(LinkMovementMethod.getInstance());
}
}
public void onClick(View v) {
if(!mp.isPlaying()) {
switch(v.getId()){
case R.id.label_controle:
try {
TextView t3 = (TextView) findViewById(R.id.label_controle);
t3.setText(
Html.fromHtml(
"Chargement... Merci de patienter."));
t3.setMovementMethod(LinkMovementMethod.getInstance());
}catch (Exception e) {
e.printStackTrace();
}
try {
mp.reset();
try {
mp.setDataSource("http://listen.radionomy.com/rkf-champagne");
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
if(mp.isPlaying()) {
TextView t2 = (TextView) findViewById(R.id.label_controle);
t2.setText(
Html.fromHtml(
"Arrêter l'écoute !"));
t2.setMovementMethod(LinkMovementMethod.getInstance());
}
}catch (Exception e) {
e.printStackTrace();
}
break;
}
}else{
if(mp.isPlaying()) {
switch(v.getId()){
case R.id.label_controle:
try {
mp.stop();
TextView t2 = (TextView) findViewById(R.id.label_controle);
t2.setText(
Html.fromHtml(
"Démarrer l'écoute !"));
t2.setMovementMethod(LinkMovementMethod.getInstance());
}catch (Exception e) {
e.printStackTrace();
}
break;
}
}
}
}
} |