android – 从Application类显示Toast消息

我的应用程序中有几个类.一些是活动,服务和纯 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”);

关注上下文对象泄漏..

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...