comment appeler non méthode statique de la méthode statique dans android
Je suis confronté à un gros problème en appelant non méthode statique de la méthode statique.
C'est mon code
Class SMS
{
public static void First_function()
{
SMS sms = new SMS();
sms.Second_function();
}
public void Second_function()
{
Toast.makeText(getApplicationContext(),"Hello",1).show(); //This i anable to display and cause crash
CallingCustomBaseAdapters(); //this was the adapter class and i anable to call this also
}
Je suis en mesure d'appeler Second_function mais impossible d'obtenir des Toasts et CallCustomBaseAdapter() la méthode, en cas de collision.
Que dois-je faire pour remédier à ce problème ?
Il n'existe aucun moyen pour atteindre votre objectif et il serait bizarre si il y avait un surmonter.
publier vos journaux de panne ici....
vous devez utiliser RunOnUiThread
Les fonctions membres sont appelés sur une instance spécifique.
Egor , ouais je suis d'accord avec vous, ici j'ai utilisé de la Classe de l'instance d'appel non méthode statique, et de Second_function(non méthode statique) je veux appeler une autre méthode et des adaptateurs personnalisés, mais je ne peux pas.. comment faire?
static
les méthodes et les champs appartiennent à des classes et de la non-static
les méthodes et les champs appartiennent à des instances de classe. Pour appeler un non-static
méthode vous avez besoin d'une instance d'une classe, et c'est tout. Espérons que cette aide.publier vos journaux de panne ici....
vous devez utiliser RunOnUiThread
Les fonctions membres sont appelés sur une instance spécifique.
Egor , ouais je suis d'accord avec vous, ici j'ai utilisé de la Classe de l'instance d'appel non méthode statique, et de Second_function(non méthode statique) je veux appeler une autre méthode et des adaptateurs personnalisés, mais je ne peux pas.. comment faire?
OriginalL'auteur Vishnu | 2012-10-09
Vous devez vous connecter pour publier un commentaire.
La seule solution pour y parvenir est que vous avez besoin pour passer le contexte actuel en tant que paramètre.
J'ai écrit le code pour seulement Toast, mais vous devez le modifier selon vos besoins.
pass le Cadre de votre activité
First_function(getApplicationContext())
etc..pour static string
J'ai éditer ma réponse pour une chaîne statique.
OriginalL'auteur V.J.
Vous devriez avoir une référence à un Contexte. Vous essayez d'avoir le contexte de l'application à partir de l'intérieur d'un SMS instance.
Je suppose que vous appelez la First_function à partir d'une Activité ou d'un Service. De sorte que vous pouvez le faire:
Puis, à partir de votre activité:
Réponse édité 😉
Comment votre code est mieux alors le code qui a été écrit à l'origine? Le SMS n'a pas encore de référence à un contexte - c'est juste une classe qui ne s'étendent pas à l'activité. Le code d'origine était bien dans le sens que la non-méthodes statiques n'ont pas été appelée dans un contexte statique. Malheureusement, il semble Vishnu n'a aucune idée de ce qu'il se passe, mais cela ne signifie pas que vous simplement aller avec elle.
ouais aamit, maintenant certains que bon...
Vous aurez à publier l'ensemble de votre code si vous voulez de mon aide. Je suis désolé, mais malheureusement je ne peux pas comprendre ce que vous essayez de faire 🙁
OriginalL'auteur Sebastian Breit