可能重复:
How do I make a toast from a non activity class?如何显示在从类敬酒消息不延长活动
如何创建并显示从类Toast
消息,其不扩展Activity
类?我在另一个课程中使用这个课程,这个课程由Activity
扩展。
可能重复:
How do I make a toast from a non activity class?如何显示在从类敬酒消息不延长活动
如何创建并显示从类Toast
消息,其不扩展Activity
类?我在另一个课程中使用这个课程,这个课程由Activity
扩展。
您需要一个上下文参考。你可以明确的通作为参数,当你创建类
public class MyClass {
private static Context context;
public MyClass(Context c) {
context = c;
}
public static void showToastMethod() {
Toast.makeText(context, "mymessage ", Toast.LENGTH_SHORT).show();
}
}
我在try catch块中用来显示烤面包的方法是静态的 – user1513889 2012-07-13 08:37:15
看到编辑... – Blackbelt 2012-07-13 08:40:42
这似乎是一个泄漏上下文的好方法。而是将上下文作为参数传递给'showToastMethod()'并从那里使用它。如果您的课程实例的寿命长于上下文所属的活动/服务/ ..,则永久引用该课程可能会很糟糕。使参考静态不会使它更好,更糟糕的是。 – 2012-07-13 09:59:00
你可以通过值nonActivity类传递活动类的背景下
例如:
new NonActivityClass(Activityclass.this) ;
,并在以上回答
new MyClass(ActivityClass.this);
In NonActivityClass
public class NonActivityClass {
public NonActivityClass (Context context) {
Toast.makeText(context, "mymessage ", Toast.LENGTH_SHORT).show();
}
}
希望这对你的作品...
ü意味着liek这 Toast.makeText(getApplicationContext(), “错误服务器没有响应” + e.getMessage(), Toast.LENGTH_SHORT) 。显示(); – user1513889 2012-07-13 08:29:57
请发布代码轻松知道。 – AkashG 2012-07-13 08:31:12
显示Toast需要对Context对象的引用。您可以将上下文或活动对象传递到要创建Toast的类。 – param 2012-07-13 08:37:22