[英]Toast works fine in main Activity but not in a class
在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();
注意:請勿保留對上下文活動的長期引用(對活動的引用應與活動本身具有相同的生命周期),以避免內存泄漏。
如果您想從課堂上敬酒,則應將上下文發送給您的課堂。
不用擔心上下文相關性的問題。
代替使用getApplicationContext()
使用Activityname.this
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.