2010-10-11 19 views
1

J'ai une classe personnalisée appelée "Sound" avec SoundPool, je veux implémenter l'écouteur de chargement complet afin que mon activité puisse jouer une intro et afficher le bouton "start" une fois le chargement terminé.Android onLoadCompleteListener comment mettre en œuvre?

Comment puis-je procéder à l'implémentation de l'écouteur puis tester l'état complet de mon activité pour m'assurer que tout est chargé, puis continuer comme indiqué ci-dessus.

Un petit exemple serait apprécié. MyActivity crée une instance de ma classe "Sound" afin qu'elle puisse appeler diverses méthodes de son à partir de celle-ci.

Sound mySound = new Sound(); 

La plupart d'entre eux ne sont pas un problème, car au moment où ils sont appelés, le chargement terminé, cependant, j'ai besoin pour MyActivity être en mesure de vérifier si le chargement est terminé avant d'appeler

mySound.playIntro(); 

(par exemple).

Peut-être que le OnLoadCompleteListener n'est pas la meilleure solution, j'apprends encore, donc je suis ouvert aux idées, c'est juste comme je l'ai deviné que cela devrait être fait.

Merci

Répondre

7

Il ressemblerait somthing comme ceci:

SoundPool.setOnLoadCompleteListener(new OnLoadCompleteListener(){ 

@override 
onLoadComplete(SoundPool soundPool, int sampleId, int status) 
{ 
// show button and play intro sound here 
}}); 

Vous devriez lire le guide pour les développeurs Android. Et plus specificly pour ce problème: SoundPool

Edition - Correction d'une faute de frappe, « listner » à « auditeur »

+0

Merci, j'ai réussi à cela, cependant, comme je l'ai mentionné loin, la substance pour montrer la bouton et jouer le son sont dans l'activité, cette classe est un fichier séparé. J'ai besoin de créer une méthode ici qui va retourner le statut à l'activité principale et peut être vérifiée à plusieurs reprises jusqu'à ce qu'il retourne le succès. avant de jouer le son et d'afficher le bouton. Si vous pouvez suggérer une meilleure façon, je suis ouvert aux idées. L'idée est de garder la classe sonore indépendante et capable d'être appelée pour vérifier l'état si nécessaire. Merci – Hamid

+0

@Hamid: "les choses pour montrer le bouton et jouer le son sont dans l'activité, cette classe est un fichier séparé" - alors soit ne pas le mettre dans un fichier séparé ou fournir une instance de l'activité à la objet écouteur. – CommonsWare

+0

Je suppose que la deuxième option est la plus appropriée ici, comment pourrais-je faire cela? – Hamid