簡體   English   中英

吐司在主要活動中效果很好,但在課堂上卻不行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM