在 MainActivity
中使用 Toast
效果很好
Toast.makeText(getApplicationContext(), "Button is clicked", Toast.LENGTH_LONG).show();
但是当我在类中使用它时,getApplicationContext()
会出现红线并且不起作用。我怎样才能让它在类里面发挥作用?
最佳答案
您需要将上下文从 Activity 传递到非 Activity 类并在那里使用相同的内容
new NonActivityClass(ActivityName.this);
然后
COntext mContext;
public NonActivityClass(Context context)
{
mContext =context;
}
然后
Toast.makeText(mContext, "Button is clicked", Toast.LENGTH_LONG).show();
注意:不要保留对上下文 Activity 的长期引用(对 Activity 的引用应与 Activity 本身具有相同的生命周期)以避免内存泄漏。
关于java - Toast 在主 Activity 中工作正常,但在类中则不行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22573372/