【发布时间】:2014-04-12 08:20:17
【问题描述】:
我正在尝试从不是活动的单独课程中祝酒。为此,我知道我需要活动上下文。但我不知道为什么我在那个类中得到空上下文
这是我的敬酒课
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);
【问题讨论】:
-
现在它卡在了这里,否则它会在 toast 上给出 nullpointer 异常
-
您是否收到此日志 - Log.d("Context", "issue");试试@Henry 的回答。
-
是的,我得到了..如果我删除它,它会给出空指针
-
这一行是否完全在你的代码中是如何出现的?:Notifier nt = new Notifier(getApplicationContext, MainActivity.this);
-
这意味着你有一个名为
getApplicationContext的变量,否则它不会编译。
标签: android android-activity android-context android-toast