可能重複:
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