我的应用程序中有几个类.一些是活动,服务和纯
Java类.我知道我可以在Activity中显示Toast消息,但我想从纯java类中显示Toast.
在java类中,我将上下文传递给构造函数,但这似乎没有显示toast.
我在Application类中创建了一个方法,该方法将String作为参数,希望我可以使用Application上下文生成Toast,这里也没有任何乐趣.
如何从非服务或活动等的类生成Toast.
public class LoginValidate{ public LoginValidate(Context context) { this.context = context; nfcscannerapplication = (NfcScannerApplication) context .getApplicationContext(); } public void someMethod(){ nfcscannerapplication.showToastMessage(result); } }
.
///然后在我的Application类中
public void showToastMessage(String message){ Toast.makeText(this.getApplictionContext(),"Encountered a problem with sending tag: " + message,Toast.LENGTH_LONG).show(); }
解决方法
首先像这样创建Application类.
public class ApplicationContext extends Application { /** Instance of the current application. */ private static ApplicationContext instance; /** * Constructor. */ public ApplicationContext() { instance = this; } /** * Gets the application context. * * @return the application context */ public static Context getContext() { if (instance == null) { instance = new ApplicationContext(); } return instance; } /** * display toast message * * @param data */ public static void showToast(String data) { Toast.makeText(getContext(),data,Toast.LENGTH_SHORT).show(); } }
从你的任何类中调用此方法,如ApplicationContext.showToast(“your string”);
关注上下文对象泄漏..