J'ai créé une application de test simple qui comporte un bouton et émet un bruit lorsque l'utilisateur clique dessus. Voici sa méthode :
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b = (Button)findViewById(R.id.easy);
b.setOnClickListener(this);
}
public void onClick(View v) {
MediaPlayer mp = MediaPlayer.create(this, R.raw.easy);
mp.start();
while(true) {
if (!mp.isPlaying()) {
mp.release();
break;
}
}
}
Ma question est la suivante : pourquoi onCreate se comporte-t-il comme s'il était dans une boucle de temps ? Je peux cliquer sur le bouton n'importe quand, et le son est émis. Je pourrais penser que c'est juste une propriété des listeners, mais l'objet Button n'est pas une variable membre. Je pensais qu'Android ne ferait que passer par onCreate une fois, et passerait à la méthode suivante du cycle de vie.
De plus, je sais que ma façon actuelle de voir si le son est joué est merdique... j'y reviendrai plus tard. :)
Merci.