Appeler une méthode publique dans la classe Activity d'une autre classe?
ACTIVITÉ PRINCIPALE
public class MyActivity() extends Activity
{
onCreate()
{
MyClass myobj=new MyClass();
}
public void Mymethod()
{}
}
//HELPER CLASS IN A SEPARATE FILE
public class MyClass()
{
MyClass(Context context)
{
}
}
J'ai essayé d'appeler Mymethod() d'une instance de Maclasse.
Je serais vraiment reconnaissant de toute aide. Merci.
source d'informationauteur Deepak
Vous devez vous connecter pour publier un commentaire.
Pourquoi ne pas juste passer à l'activité du constructeur comme
Faire que de la méthode statique de sorte que vous pouvez appeler sans la création de la classe de l'objet
et de l'appeler comme ça
C'est probablement la meilleure façon de le faire. C'est la façon dont je le fais. Il est appelé un Modèle de Conception Singleton:
J'avais un intérieur de classe que je voulais sortir dans un cadre plus général de la bibliothèque de "l'aide" de la classe. J'ai eu le même problème que vous. J'ai eu autour d'elle en faisant la classe helper abstrait, avec une seule méthode abstraite. Ensuite dans mon package de projet, j'ai étendu la classe helper avec un appel du constructeur de la classe spécifique.
De cette façon, j'ai une classe helper qui contient la grande majorité du "travail", et tout ce que j'ai à faire est de faire une sous-classe avec le constructeur et une méthode afin d'obtenir l'accès à la vocation de l'activité de méthode de d'intérêt.
Si je vous comprends bien, je crois que vous pouvez résoudre vos problèmes à l'aide d'une interface de rappel.
////ACTIVITÉ/////////////////////////////////
//////Classe Personnalisée//////////////////
Vous devez passer instance de MainActivity dans une autre classe, alors vous pouvez appeler à tout public (MainActivity) de partout.
MainActivity.java
AnotherClass.java
Dans MainActivity.class fichier
Vous devez passer MainActivity contexte de Classe MainActivity. Puis dans Maclasse vous devez Obtenir MainActivity contexte. Souvenez-vous du Contexte et MyActivity, différent de la référence.
public class MyActivity s'étend de l'Activité
{
}
//DE LA CLASSE HELPER DANS UN FICHIER SÉPARÉ
J'ai décidé d'écrire le HelperClass MyClass intérieur de la classe de MyActivity classe. Cela permet un accès complet à la classe parent, mais la mauvaise chose est maintenant Maclasse est limité à MyActivity classe seulement.