Toast,在Android开发中常常会遇到,但是,我们总是会遇到一个问题,那便是当我们使用按钮监听弹出Toast的时候,假如不断点击按钮,将会不断地弹出Toast,而这一篇文章便是为了解决这个问题而编写的。
同时,为了节约app资源和方便使用,便使用单例模式来实现自定义Toast。
(1)建立MyToast类,并且定义以下成员变量,以及部分更改器:
private static final Object SYNC_LOCK = new Object();
private static Toast mToast;
/** 上下文 */
public static Context context;
public static Context getContext() {
return context;
}
public static void setContext(Context context) {
MyToast.context = context;
} /**
* 获取toast环境,为toast加锁
*
* @param context
* @return
*/
private static void initToastInstance() {
if (mToast == null) {
synchronized (SYNC_LOCK) {
if (mToast == null) {
mToast = Toast.makeText(context, "", Toast.LENGTH_SHORT);
}
}
}
}(3)创建显示Toast的方法:
/**
* 展示吐司
*
* @param context
* 环境
* @param text
* 内容
*/
public static void showToast(String text, Context context) {
setContext(context);
if (getContext() != null && text != null) {
initToastInstance();
mToast.setDuration(Toast.LENGTH_SHORT);
mToast.setText(text);
mToast.show();
}
}(4)使用以下代码显示Toast。
MyToast.showToast("MyToast", MainActivity.this);
无论点击多少次都是图中的效果,不会说多次点击之后,等一个Toast消失后,出现另外一个Toast。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/u011596810/article/details/46945229