0

アクティビティではない別のクラスからメッセージを乾杯しようとしています。そのためには、アクティビティのコンテキストが必要であることを知っています。しかし、そのクラスで null コンテキストを取得する理由がわかりません

ここにトーストメッセージのクラスがあります

public class Notifier {

public Notifier(){

}

public Notifier(Context ctx, MainActivity activity){
Log.d("Constructor call", "dd");
context = ctx;
activity = activity;
}

public void toast(String message){  
messageData = message;
Log.d("Notifier Data", messageData);

while(context == null || activity == null){
    Log.d("Context", "issue");
    try{
    Thread.sleep(1000);
    } catch(InterruptedException exception){
    exception.printStackTrace();
    }
}
activity.runOnUiThread(new Runnable() {
    public void run() {
        Toast.makeText(context, "messageData", Toast.LENGTH_SHORT).show();
    }
    }); 
}

Context context;
String messageData;
esActivity activity;

}

これが私の MainActivity の onCreate での私の呼び出しです

     Notifier nt = new Notifier(getApplicationContext, MainActivity.this);
4

1 に答える 1

0

activityそれはヌルだと思います。コンストラクターを確認します。

public Notifier(Context ctx, MainActivity activity){
Log.d("Constructor call", "dd");
context = ctx;
activity = activity;
}

割り当てactivity = activity;は効果がありません。あなたが欲しいのは

this.activity = activity;
于 2014-03-09T07:53:34.167 に答える