2017-09-18 3 views
0

Je cherche un bon exemple, comment je peux appeler une méthode qui est déclarée dans MainAcitivity d'une autre classe dans le même paquet.Méthode d'appel de classe MainActivity à une autre classe en créant une instance android

J'ai une méthode getSMS en classe MainAcitivity, qui ressemble à la manière suivante: Méthode

private void sendSMS(String phoneNumber, String message) { 
      SmsManager sms = SmsManager.getDefault(); 
      sms.sendTextMessage(phoneNumber, null, message, null, null); 
     } 
public void getSMS(){ 
      sendSMS("5556", "You're at home."); 
    } 

J'appelle getSMS() dans une autre classe de la classe MainActivity. Maintenant, j'appelle la méthode dans l'autre classe en utilisant l'instruction conditionnelle.

  if (activity.getType() == 3) { 
      tSMS(); 
       } 

Logcat:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference 
+0

https://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it – Kuffs

+0

Les activités ne sont pas supposées être instancié manuellement. Si vous avez du code dans une activité que vous souhaitez appeler et que l'activité n'est pas ouverte, elle appartient probablement à une classe d'assistance. – Kuffs

+0

Si cette méthode n'a rien à voir avec l'interface utilisateur de votre application. Pourquoi ne pas le mettre sur une classe d'utilité? –

Répondre