2017-09-18 8 views
0

私は、同じパッケージ内の別のクラスのMainAcitivityで宣言されているメソッドをどのように呼び出すことができるのかを探しています。MainActivityクラスからインスタンスを作成して別のクラスへの呼び出しメソッドandroid

私は次のようにのように見えるMainAcitivityクラスのgetSMSメソッドを持っている:

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."); 
    } 

私はMainActivityクラスから別のクラスでは()メソッドgetSMSを呼んでいます。

public void tSMS(){ 
    MainActivity mainActivity = new MainActivity(); 
    mainActivity.getSMS(); 
} 

ここでは、条件文を使用して他のクラスのメソッドを呼び出しています。

  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

アクティビティは想定されていません手動でインスタンス化されます。呼び出したいアクティビティ内にコードがあり、アクティビティが開いていない場合は、おそらくヘルパークラスに属しています。 – Kuffs

+0

このメソッドは、あなたのアプリのUIとは関係ありません。ユーティリティクラスに入れないのはなぜですか? –

答えて

関連する問題