在Toast
中使用MainActivity
可以正常使用
Toast.makeText(getApplicationContext(), "Button is clicked", Toast.LENGTH_LONG).show();
但是当我在课堂上使用getApplicationContext()
时,它会变红并且不起作用。我怎样才能让它在课堂上运作?
答案 0 :(得分:5)
您需要将上下文从Activity传递给非Activity类并使用相同的
new NonActivityClass(ActivityName.this);
然后
COntext mContext;
public NonActivityClass(Context context)
{
mContext =context;
}
然后
Toast.makeText(mContext, "Button is clicked", Toast.LENGTH_LONG).show();
注意:不要保留对上下文活动的长期引用(对活动的引用应该与活动本身具有相同的生命周期)以避免内存泄漏。
答案 1 :(得分:0)
如果你想从课堂上祝酒,你应该向你的班级发送上下文。
答案 2 :(得分:0)
无需担心上下文的问题。
而不是使用getApplicationContext()
使用Activityname.this