Appel de la méthode d'une autre classe sur Android
J'ai créé deux classes, en fait les deux d'entre eux s'étend de l'Activité. Ce que j'essaie de faire est d'appeler une méthode à partir de la deuxième classe.
Ce que je suis en train de faire est d'appeler la méthode de deuxième classe pour la mise en œuvre de la première classe, je n'ai malheureusement pas le succès.
J'ai besoin de votre aide pour résoudre ce problème. Merci
Ma première classe:
package com.math4kids;
import android.app.Activity;
import android.os.Bundle;
public class testing002 extends Activity {
private Sounds myotherclass;
@Override
protected void onCreate(Bundle savedInstanceState) {
//TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.numeracy);
myotherclass.Randomsoundforrightanswer();
}
}
De la deuxième classe:
package com.math4kids;
import java.util.Random;
import android.app.Activity;
import android.content.Context;
import android.media.MediaPlayer;
public class Sounds extends Activity {
MediaPlayer cool, good, perfect, sweet, excellent, goodthinking, greatjob,
notbad, thatstheway, youdidit, yes, again, wrong, sorry,
sundfornum01, sundfornum02;
public Random random = new Random();
public Sounds(Context context){
super.getApplicationContext();
}
public void Randomsoundforrightanswer() {
cool = MediaPlayer.create(this, R.raw.cool);
good = MediaPlayer.create(this, R.raw.good);
perfect = MediaPlayer.create(this, R.raw.perfect);
sweet = MediaPlayer.create(this, R.raw.sweet);
excellent = MediaPlayer.create(this, R.raw.excellent);
goodthinking = MediaPlayer.create(this, R.raw.goodthinking);
greatjob = MediaPlayer.create(this, R.raw.greatjob);
notbad = MediaPlayer.create(this, R.raw.notbad);
thatstheway = MediaPlayer.create(this, R.raw.thatstheway);
youdidit = MediaPlayer.create(this, R.raw.youdidit);
yes = MediaPlayer.create(this, R.raw.yes);
switch (random.nextInt(11)) {
case 0:
cool.start();
break;
case 1:
good.start();
break;
case 2:
perfect.start();
break;
case 3:
sweet.start();
break;
case 4:
excellent.start();
break;
case 5:
goodthinking.start();
break;
case 6:
greatjob.start();
break;
case 7:
notbad.start();
break;
case 8:
thatstheway.start();
break;
case 9:
youdidit.start();
break;
case 10:
yes.start();
break;
}
}
}
- pourquoi vous créer beaucoup de MediaPlayer instances suffit d'utiliser le Tableau Entier ou une liste de tableaux pour stocker l'id de fichier et d'attribuer à la MediaPlayer instance en fonction de nombre aléatoire
- je sais comment faire
- mais ce n'est pas le problème
- si u connu, alors c'est bien . je viens de donner u code de pointe, car u ont déjà 5 réponse sur le problème actuel
Vous devez vous connecter pour publier un commentaire.
Faire un simple java normal "fichier" puis sur définir ces méthodes dans cette classe.
Appeler les méthodes de l'ordinaire fichier java en activité de ce genre.
Pourquoi devriez-vous le faire?
Pourquoi
Sounds
de la classe de l'extension de l'Activité?Merci de lire une fois de plus la documentation officielle L'activité.
Si vous ne l'avez cause vous avez besoin d'un contexte qu'à faire passer comme paramètre à la
Sounds
classe.Et vous avez aussi besoin de visiter Android le guide de développement trop
Une seule Activité est instancié à la fois. Vous ne devriez pas essayer d'appel de l'Activité de l'autre.
Au lieu de cela, vous devez créer une troisième classe qui contient la méthode que vous souhaitez appeler.
Cependant, vous allez avoir à faire plus de travail avec le lecteur multimédia. Vous devriez lire la documentation avant de continuer. Le code que j'ai montré vous donne les bases de ce que vous avez besoin de le faire, mais il ne fonctionnera pas.
Enfin, le meilleur conseil que je puisse vous donner est d'apprendre les bases de Java et de la programmation orientée objet avant de poursuivre.
Sauf testing002 classe est en fait une Activité que vous souhaitez utiliser comme une Activité, vous devez déplacer les randomsound... fonction à une autre classe.
Comme les sons de la classe, mais pas d'une Activité. Si vous définissez la fonction dans la classe que vous pouvez construire dans un autre et de l'appeler.